`
weishuwei
  • 浏览: 326318 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Acegi中Session并发和RememberMe冲突问题解决方法

阅读更多
这个问题着实让我费了好大功夫,本来想放弃Rememberme功能了,后来在邮件列表中发现了解决之道,特此贴出来为大家共享.
 
  1. <bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter">  
  2.         <property name="context">  
  3.             <value>org.acegisecurity.context.SecurityContextImpl<!---->value>  
  4.         <!---->property>  
  5.         <property name="forceEagerSessionCreation" value="true"/>  
  6. <!---->bean>  
注意:<property name="forceEagerSessionCreation" value="true"/>这里添加了这个属性,并且设置为true;

邮件列表地址:http://opensource.atlassian.com/projects/spring/browse/SEC-183

贴出原文给大家分享一下:
HttpSessionContextIntegrationFilter now provides an forceEagerSessionCreation property (defaults to false). If set to true, it will cause a HttpSession to be created at the commencement of each web request. When the authentication mechanisms later run, they will use the constructor of WebAuthenticationDetails which does not force a HttpSession to be created, thus extracting a Session ID if the session was already available (either through normal creation operations or the forceEagerSessionCreation property) or leaving the Session ID as null if no HttpSession was available.

The anonymous and remember-me authentication mechanisms have been amended to not force session creation. Those using concurrent session support with either (or both) of these authentication mechanisms will be required to set HttpSessionContextIntegrationFilter.forceEagerSessionCreation = true.

注:在acegi的1.0.3和1.0.4版本中测试通过
分享到:
评论
2 楼 manu82gf 2007-09-19  
RememberMe和Session并发控制能够达到什么样的效果?
1 楼 westlwt 2007-08-02  
什么意思,之前是什么状况?这个有什么用?

相关推荐

    acegi rememberMe和退出

    在Acegi Security中,"Remember Me"功能主要通过RememberMeServices接口实现,该接口定义了处理Remember Me令牌的方法。通常,这个令牌会被存储在用户的Cookie中,当用户下次访问时,如果Cookie存在且有效,系统会...

    acegi rememberMe和匿名登录

    本文将深入探讨Acegi Security中的"rememberMe"功能以及匿名登录的实现机制。 "Remember Me"功能在许多Web应用中非常常见,它允许用户在登录后选择“记住我”,以便在未来的会话中自动登录,而无需每次都输入用户名...

    acegi rememberMe

    在描述中提到的博文链接可能详细解析了如何配置和使用Acegi Security的"rememberMe"服务。虽然具体内容未给出,但通常"rememberMe"功能的实现涉及以下几个关键知识点: 1. **RememberMe Services**: 这是核心组件,...

    acegi

    - **会话管理(Session Management)**: Acegi 可以监控和管理用户的会话,防止会话劫持、会话固定等安全问题。 - **过滤器链(Filter Chain)**:Acegi 使用过滤器链来拦截请求,执行安全检查,这是其实现安全...

    Acegi例子代码+一个很好的学习Acegi的网址

    3. **会话管理(Session Management)**:Acegi提供了会话管理功能,可以防止会话固定攻击(Session Fixation),并支持会话超时和并发会话控制。 4. **过滤器安全链(Filter Security Interceptor)**:Acegi的...

    Spring Acegi权限控制

    Acegi Security(现已被Spring Security替代)是一个功能强大的安全框架,它主要解决了认证(Authentication)和授权(Authorization)这两个核心的安全问题。 首先,让我们理解认证和授权的基本概念: - **认证**...

    使用acegi控制用户权限实例

    7. **与Spring集成**:作为Spring的扩展,Acegi Security可以无缝集成到Spring MVC和Spring的其他模块中,使得配置和使用非常方便。 在实际应用中,以下是一些步骤来设置Acegi Security: 1. **引入依赖**:在你的...

    基于java的ACEGI

    5. **测试和调试**:在实际运行环境中测试安全功能,确保用户权限设置正确,并使用Acegi提供的日志和调试工具进行问题排查。 6. **处理异常**:配置Acegi的异常处理机制,当用户尝试访问未授权的资源或认证失败时,...

    Acegi解决权限问题

    在本文中,我们将深入探讨Acegi如何解决权限问题,并通过分析提供的代码、文档和配置文件,来理解其实现机制。 首先,Acegi的核心功能是提供细粒度的访问控制,允许开发者对应用中的资源(如URL、方法、对象等)...

    acegisecurity-1.0.7

    Acegi Security提供了一系列安全服务,如RememberMe服务,可以记住用户的登录状态,使用户在一段时间内无需重新登录。另外,还包括了密码加密服务,确保密码在存储和传输过程中的安全性。 五、与其他Spring组件的...

    spring Acegi例子,很简单的一个acegi实例,容易理解

    8. **记住我(Remember Me)**:Acegi还提供了一种“记住我”服务,允许用户在一段时间内无须重新登录,增强了用户体验。 在实际应用中,这个简单的Acegi实例可能包含以下步骤: 1. 创建Spring配置文件,引入Acegi...

    ACEGI

    这个框架解决了J2EE规范中安全性配置不便于移植的问题,使得应用程序的安全设置能够在不同服务器环境下轻松迁移。Acegi Security的核心设计考虑了认证(Authentication)和授权(Authorization)这两个关键的安全...

    acegi保护业务方法_basedMemory

    这个“acegi保护业务方法_basedMemory”主题可能是关于如何使用Acegi Security来保护应用程序中的特定业务方法,特别是那些处理敏感数据或关键操作的方法。在这个场景下,“basedMemory”可能指的是基于内存的认证和...

    Acegi框架介绍 acegi安全与认证

    尽管现在Spring Security已经成为更推荐的安全解决方案,但Acegi在早期对Spring应用的安全支持起到了重要作用,其设计理念和实现方式在Spring Security中得到了继承和发展。 总的来说,Acegi Security(Spring ...

    spring acegi 详细文档

    如果你手头有Acegi的详细文档,如acegi.docx和Acegi.zip中的内容,这将是一个宝贵的资源,帮助你深入理解和解决问题。 总结起来,Spring Acegi是一个强大的安全框架,它的功能包括用户认证、权限控制和安全拦截。...

    acegi2.0

    Spring Security提供了会话管理功能,包括会话固定保护、会话超时检测和并发会话控制,以防止会话劫持和会话固定攻击。 5. **Remember-Me服务**: 为了提供用户便利,Spring Security 2.0引入了Remember-Me服务,...

    acegi 完整实例

    2. **Session管理**:Acegi提供了强大的session管理功能,包括session的创建、跟踪和销毁。它能检测会话超时,防止会话固定攻击,并且可以设置会话属性,比如会话的最大空闲时间。 3. **数据库验证**:Acegi ...

    acegi安全策略与CAS整合

    AceGI安全策略与CAS(Central Authentication Service)整合是企业级应用中常见的安全解决方案,它能够为Web应用程序提供统一的身份验证和授权服务。本文档旨在详细阐述这一整合过程,包括配置步骤、所需资源以及...

    基于rbac模式的acegi权限管理

    在"权限管理组件在Spring框架下的设计与实现.nh"这个文件中,可能包含了关于如何配置Acegi Security、定义角色和权限、以及如何在Spring MVC控制器中使用这些机制的具体步骤和示例。通常,这会包括XML配置文件的设置...

    ehCache在acegi中的应用

    在acegi中,这确保了即使在高并发环境下,用户权限的读取和更新也不会出错。 7. **监控和调试**:为了跟踪缓存的使用情况,ehCache提供了丰富的监控和统计功能,可以帮助开发者了解缓存的命中率、大小和性能瓶颈,...

Global site tag (gtag.js) - Google Analytics