AuthByAdapterProvider: 通过Web容器来验证用户身份。
CasAuthenticationProvider:通过CAS服务来验证用户身份,是基于单点登陆的认证方式。
DaoAuthenticationProvider:通过数据库存储的用户名口令信息来验证用户身份,这是Web应用程序最常见的认证方式
JaasAuthenticationProvider:通过JAAS服务来验证用户身份。
PasswordDaoAuthenticationProvider:通过数据库认证,但是具体过程由底层数据源完成
RememberMeAuthenticationProvider:通过浏览器提供的Cookie来验证用户上次是否已经成功登陆并在有效期内,若Cookie被接受,则通过认证。
RemoteAuthenticationProvider:通过远程服务验证用户身份.
JAAS
技术简介
JavaTM Authentication and Authorization Service (JAAS)
,自
JDK1.4
以来已经集成于
JDK
之中。
JAAS
可以完成如下两个功能:
l .
验证用户身份,可靠并且安全的确定当前是谁在执行
Java
代码,无论是作为应用程序执行还是作为一个
applet
、一个
bean
还是一个
servlet
;
2.
为用户授权,确认他们拥有执行该操作的正确权限。
JAAS
验证技术是可插拔的,这意味着系统允许多种验证手段共存。新的或者升级了的验证模块可以直接使用,而不需要去修改应用本身。系统通过实例化
LoginContext
对象来启用验证过程,
LoginContext
对象依次引用一个配置文件来决定使用哪(几)种验证技术或
LoginModule
。一个典型的
LoginModule
可能需要用户名和密码来进行验证,其他的也可能通过读取声音或指纹来进行验证。
分享到:
相关推荐
例如,我们可能会配置一个`DaoAuthenticationProvider`来处理数据库中的用户认证,并设置`ProviderManager`来管理多个认证提供者。同时,还需要定义权限策略,如哪些URL需要被保护,以及对应角色的权限。 数据库...
2. **共享组件**:提供了基础的安全服务,如用户认证、权限检查等,这些组件可被多个安全机制共享。 3. **认证**:包括多种认证机制,如内存认证、数据库认证、JAAS认证、Siteminder认证等,用于验证用户身份。 4....
手册可能包含多个实际应用案例,如构建一个基于角色的权限管理系统,展示如何实现用户登录、权限分配、权限检查等功能。 10. **最佳实践与性能优化**: 除了基本的使用方法,手册还应涵盖如何遵循最佳实践以提高...
1. **身份验证(Authentication)**:AceGI提供了一套完整的机制来验证用户的身份。这包括支持多种认证策略,如基于数据库、LDAP目录服务或简单的用户名/密码文件。通过定义自定义认证 provider,开发者可以根据具体...
- `<security:authentication-manager>`:配置认证管理器,可以包含多个`<security:authentication-provider>`来处理不同类型的凭证。 - `<security:intercept-url>`:定义哪些URL需要授权才能访问。 - `...
每个用户可以关联一个或多个角色,角色可以定义访问权限。 4. **`<access-control-list>`**: 这个元素用于定义访问控制列表,指定哪些用户或角色可以访问特定的URL或资源。 5. **`<intercept-url>`**: 通过这个...
认证机制(Mechanism)、认证提供者(Provider)和入口点(EntryPoint)是Acegi Security中重要的概念,它们共同构成了认证流程的基础。 1. **认证机制**:定义了认证的具体方式,如表单认证、基本认证等。 2. **认证提供...
3. **身份验证(Authentication)**:详细阐述Acegi的身份验证机制,包括自定义认证Provider、使用Remember Me服务、以及处理未认证和授权失败的事件。 4. **授权(Authorization)**:解释Acegi的访问决策管理,如...
DAO Authentication Provider是一种强大的认证提供者,它允许开发者自定义数据访问层,从而实现高度定制化的认证逻辑。 ##### 8.1 Java Authentication and Authorization Service (JAAS) 提供者概述 JAAS是Java...
此外,还有自定义认证提供者(Authentication Provider)的实现方法。 3. **授权(Authorization)**:Spring Security提供了基于角色的访问控制(RBAC),允许开发者定义角色和权限,并控制用户对资源的访问。它...
【Spring Security 框架详解】 Spring Security 是一个强大的、...相较于Acegi,Spring Security 提供了更多的特性,如对最新Java版本的支持,更丰富的API和扩展性,使其成为现代Java EE应用开发中首选的安全框架。
在从Acegi安全框架转换到Spring Security 2.0时,一个重要的变化就是如何将授权信息存储从XML配置文件迁移到数据库。这使得授权策略更加灵活,易于管理和维护。 24.1. Spring Security简介 Spring Security 2.0...
用户可以有多个角色,角色又可以拥有多种权限。在SSH框架下,我们可以使用Spring的安全模块(Spring Security,以前称为Acegi Security)来实现这个模型。Spring Security提供了丰富的功能,如身份验证、授权、会话...
Spring Security 由多个模块组成: - **Core (spring-security-core.jar)**:核心模块,包含所有基本的安全性和身份验证逻辑。 - **Web (spring-security-web.jar)**:用于 Web 应用程序的安全性配置,包括 HTTP ...
- **Provider Manager(提供者管理器)**:处理认证请求,并调用多个AuthenticationProvider进行认证。 - **UserDetailsService**:用于加载用户信息,与数据库或其他数据源交互获取用户信息。 - **Access ...
`<authentication-provider>`元素是用来配置用户认证的。在这里,你可以定义用户和服务,例如`<user-service>`元素用于指定用户信息,包括用户名、密码以及该用户的角色。在示例中,有两个用户:`admin`和`user`,...