用RememberMe的时候想改一些RememberMeServices的默认属性
比如
private String cookieName = SPRING_SECURITY_REMEMBER_ME_COOKIE_KEY;
private String parameter = DEFAULT_PARAMETER;
private boolean alwaysRemember;
private String key;
private int tokenValiditySeconds = 1209600; // 14 days
但修改了之后发现cookie失效了
后来debug了半天才发现在 RememberMeAuthenticationProvider 也有一个key
public class RememberMeAuthenticationProvider implements AuthenticationProvider, InitializingBean, MessageSourceAware {
//~ Static fields/initializers =====================================================================================
private static final Log logger = LogFactory.getLog(RememberMeAuthenticationProvider.class);
//~ Instance fields ================================================================================================
protected MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor();
private String key;
在验证过程中会判断他们是否相等 假如只改了一个地方。。。
分享到:
相关推荐
在Spring Security 2中,配置Cookie的保存时间是一项重要的任务,因为这关乎到用户的会话持久性和安全性。Cookie是Web应用程序中用于存储用户状态的一种机制,例如登录信息、个性化设置等。正确设置Cookie的生命周期...
2. **配置RememberMeServices**:你需要实现RememberMeServices接口,Spring Security提供了一个默认实现RememberMeAuthenticationProvider。通常,你会使用TokenBasedRememberMeServices,它基于令牌存储用户的登录...
SpringSecurity是Java领域中一款强大的安全框架,它为Web应用程序提供了全面的安全管理解决方案。在5.7.11版本中,SpringSecurity不仅强化了基础的安全特性,还支持用户认证和“记住我”功能,使得用户体验得到了...
SpringSecurity提供了这一特性,通过`RememberMeServices`接口实现。主要涉及以下几个关键点: 1. **Token管理**:Remember Me服务会生成一个安全的令牌,并将其存储在用户的浏览器Cookie中,同时在服务器端保存...
Acegi是Spring Security的前身,它提供了一套强大的安全控制机制,允许我们对应用程序进行细粒度的访问控制。 首先,我们看到在描述中提到了Acegi的相关类依赖可以通过Spring的IoC(Inversion of Control)容器来...
Acegi Security是Spring Security的前身,它是一款强大的安全框架,用于保护Java应用程序。"Remember Me"功能在Web应用中很常见,它允许用户选择“记住我”选项后,在一定时间内无需再次输入用户名和密码登录。而...
- 使用Spring Security:Spring Security是Java领域的一个强大安全框架,支持SSO。开发者可以通过配置XML或使用Java配置类来实现SSO。 - 使用OAuth2:OAuth2是一种授权协议,可以实现SSO功能。通过定义Resource ...
Acegi 安全框架是 Spring 框架早期的一个安全扩展,它提供了全面的身份验证、授权和服务层安全功能。在本文中,我们将深入探讨 Acegi 如何实现“记住我”功能,这是一种允许用户在一段时间内无需重新登录的功能,极...