一、查看 applicationContext-acegi-security.xml 配置文件,涉及到登录的配置为:
1 .
< bean id = "authenticationProcessingFilter" class = "org.javajohn.test.plugins.security.UserAuthenticationProcessingFilter" >
< property name = "authenticationManager" ref = "authenticationManager" />
< property name = "authenticationFailureUrl" >
< value > /login.jsp?login_error=1 </ value >
</ property >
< property name = "defaultTargetUrl" >
< value > /index.jsp </ value >
</ property >
< property name = "filterProcessesUrl" >
< value > /j_acegi_security_check </ value >
</ property >
< property name = "userManager" ref = "userManager" />
< property name = "rememberMeServices" ref = "rememberMeServices" />
< property name = "exceptionMappings" >
< value >
org.acegisecurity.AuthenticationException=/login.jsp?login_error=user_psw_error
org.acegisecurity.concurrent.ConcurrentLoginException=/login.jsp?login_error=too_many_user_error
</ value >
</ property >
</ bean >
2 . < bean id = "authenticationManager"
class = "org.acegisecurity.providers.ProviderManager" >
< property name = "providers" >
< list >
< ref local = "daoAuthenticationProvider" />
< bean class = "org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider" >
< property name = "key" value = "javajohnKey" />
</ bean >
< bean class = "org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider" >
< property name = "key" value = "javajohnKey" />
</ bean >
</ list >
</ property >
</ bean >
3 .
< bean id = "daoAuthenticationProvider" class = "org.acegisecurity.providers.dao.DaoAuthenticationProvider" >
< property name = "userDetailsService" ref = "jdbcDaoImpl" />
< property name = "userCache" >
< bean class = "org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache" >
< property name = "cache" >
< bean class = "org.springframework.cache.ehcache.EhCacheFactoryBean" >
< property name = "cacheManager" >
< bean class = "org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />
</ property >
< property name = "cacheName" value = "userCache" />
</ bean >
</ property >
</ bean >
</ property >
< property name = "passwordEncoder" ref = "passwordEncoder" />
</ bean >
4 . < bean id = "jdbcDaoImpl"
class = "org.acegisecurity.userdetails.jdbc.JdbcDaoImpl" >
< property name = "dataSource" ref = "dataSource" />
< property name = "usersByUsernameQuery" >
< value >
select loginid,passwd,1 from users where status='1' and loginid = ?
</ value >
</ property >
< property name = "authoritiesByUsernameQuery" >
< value >
select u.loginid,p.name from
users u,roles r,permissions p,user_role ur,role_permis rp
where
u.id=ur.user_id and <span style=
分享到:
相关推荐
总的来说,Acegi Security的源码包为学习和定制安全组件提供了一个宝贵的资源。通过对源码的分析,开发者可以更深入地了解安全设计模式,提高应用的安全性和可靠性。同时,这也是一个提升Java和Spring框架技能的好...
为了进一步学习和实践Acegi Security,你可以研究这些文件,了解如何在实际项目中集成和配置Acegi。 总之,Acegi Security为Spring应用程序提供了一套强大的安全框架,通过精细的控制权衡了用户认证和授权。虽然已...
### acegi源码解读:深度剖析Spring Security核心组件 #### 引言 在现代Web应用开发中,安全性是至关重要的一个方面。Spring Security作为Spring框架的一部分,提供了强大的安全功能,包括认证、授权、会话管理等...
- **AuthenticationManager**:处理用户的登录请求,负责身份验证。 - **AccessDecisionManager**:决定用户是否有权访问特定的资源。 - **SecurityContextHolder**:存储当前线程的安全上下文,包含了用户的身份...
由于文章内容是关于acegi pdf学习的参考文档,其中包含了大量关于Acegi安全系统的技术细节,因此以下将详细阐述文档中提及的关键知识点。 首先,Acegi安全系统是一个基于Spring框架的安全解决方案。文档开头简要...
在 `acegi-config.xml` 文件中,你可以定义认证和授权策略,比如用户存储(UserDetailsService)、认证管理器(AuthenticationManager)和权限访问决策器(AccessDecisionManager)。 Acegi 还提供了许多预定义的...
4. **过滤器安全链(Filter Security Interceptor)**:Acegi的核心组件之一,它是一个Spring MVC的过滤器,会在请求被处理之前检查用户的权限。如果用户没有足够的权限,过滤器将阻止请求的进一步处理。 5. **频道...
然而,尽管Acegi非常强大,它也有不足之处,如学习曲线较陡峭,配置复杂,对于初学者来说可能较为困难。此外,随着Spring Security的发展,Acegi的一些功能可能已经被更新的版本替代或优化,因此在使用时需要考虑其...
例如,所有用户可以访问登录页面,而只有特定用户可以访问特定的管理页面。这种控制方式使得系统能够灵活地管理不同级别的用户访问权限。 2. **业务类方法的访问控制** 在Spring容器中的Bean方法,Acegi都能进行...
Acegi Security提供了这种便利性,通过在用户登录时创建一种持久化的身份验证令牌,存储在用户的浏览器cookie中。当用户下次访问网站时,如果携带了这个令牌,系统会自动识别并完成登录过程,提升用户体验。 实现...
- Spring - Java - JavaEye论坛.mht"则可能专注于Acegi的认证过程,这包括用户登录、密码加密、以及不同类型的认证机制,如基于内存的认证、JDBC认证等。认证是确保用户身份的关键步骤,Acegi提供了灵活且可扩展的...
在Spring框架中,Acegi(现在已经并入Spring Security)是一个强大的安全管理组件,它提供了认证和授权功能。在本文中,我们将深入探讨Spring_Acegi框架如何实现授权机制,特别是通过`FilterSecurityInterceptor`来...
通过学习Acegi,我们可以了解到Web应用安全的基本思路和实践方法,这对于理解现代的Spring Security框架非常有帮助。虽然Acegi已经不再更新,但它的理念和架构仍对现代安全框架设计产生深远影响。
AceGI,全称为Acegi ...理解Acegi对于学习和使用Spring Security仍然大有裨益,因为它可以帮助我们更好地理解Web应用程序的安全设计和实现。在实际开发中,掌握Acegi的相关知识可以提升我们构建安全系统的专业能力。
Acegi Security是Spring框架早期的一个安全模块,它为Java企业级应用提供了全面的安全管理解决方案。在分析`acegi-security...同时,源码的学习也是提升自身技能,理解和实践面向切面编程(AOP)和Spring框架的宝贵资源。
**认证(Authentication)**是验证用户身份的过程,Acegi Security支持多种认证机制,包括: 1. **HTTP基本认证**:基于IETF RFC标准,通过HTTP头部传递用户名和密码。 2. **HTTP摘要认证**:同样基于IETF RFC标准...
此外,Acegi还提供了Remember Me服务,允许用户在一段时间内无须重新登录,提高了用户体验。这个功能可以通过配置`RememberMeAuthenticationProvider`来实现。 总的来说,Spring Acegi Security提供了一套全面的Web...
首先,Acegi的主要目标是保护Spring应用免受非法访问,它提供了丰富的功能来实现用户认证、会话管理、权限控制以及安全相关的异常处理。Acegi的核心组件包括`AuthenticationManager`、`AccessDecisionManager`和`...
2. 配置RememberMeFilter:同样在Spring配置文件中,你需要添加RememberMeAuthenticationFilter,确保它位于AuthenticationProcessingFilter之后,这样在用户登录时,Remember Me功能才能生效。 3. 配置...