记住我: 2. 在Shiro的配置文件中,添加RememberMe的配置。(给安全管理器添加cookie设置) /***Cookie*/@BeanpublicSimpleCookie rememberMeCookie() {//这个参数是cookie的名称,对应前端的checkbox的name = rememberMeSimpleCookie simpleCookie =newSimpleCookie("rememberMe");//如果httyOnly设置为true,则客户端不会...
-- rememberMe是cookie值中的key,value时⽤户名的密⽂ cookie["rememberMe":"deleteMe"] 此cookie每次登陆后都会写出,⽤于清除之前的cookie cookie["rememberMe":username的密⽂] 此cookie也会在登录后写出,⽤于记录最新的username (ops: 如上设计,既能保证每次登陆后重新记录cookie,也能保证切换账号时,...
点击登陆之后,当登陆成功之后会调用DefaultSecurityManager的rememberMeSuccessfulLogin方法将记住我写入到cookie中 protected void rememberMeSuccessfulLogin(AuthenticationToken token, AuthenticationInfo info, Subject subject) { RememberMeManager rmm = getRememberMeManager(); if (rmm != null) { try { rmm.onSucce...
rememberMeCookie:即记住我的Cookie,保存时长30天; 1<!--rememberMe管理器-->2<beanid="rememberMeManager"3class="org.apache.shiro.web.mgt.CookieRememberMeManager">4<propertyname="cipherKey"value="5#{T(org.apache.shiro.codec.Base64).decode('4AvVhmFLUs0KTA3Kprsdag==')}"/>6<propertyname="...
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> <constructor-arg value="sid"/> <property name="httpOnly" value="true"/> <property name="maxAge" value="-1"/> </bean> <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> ...
一、记住我rememberMe 用户的登录状态会不会因为浏览器的关闭而失效,直到Cookie失效。关闭浏览器后,再次访问登录后的页面可以不用登录。因为用Cookie实现,故只在同一浏览器中有效。 修改ShiroConfig /*** 路径过滤规则* @return*/@BeanpublicShiroFilterFactoryBeanshiroFilter(SecurityManagersecurityManager){ShiroFilterFac...
一、Shiro RememberMe的基本原理 Shiro RememberMe的实现原理是将用户的登录信息保存在cookie中。当用户选择“记住我”并成功登录后,Shiro会生成一个包含用户登录信息的cookie,并将其写入客户端的浏览器。这个cookie通常包含用户的身份标识(如用户名或用户ID)和一个加密的令牌(token)。 当用户下次访问应用时,浏览器会...
rememberMe的Cookie加密算法 CookieRememberMeManager 类继承 AbstractRememberMeManager 使用的是AES加密, 再进行一层base64转码返回给浏览器 构造方法: AesCipherService 就是默认用的解密解密的算法, 从名字上就可以看出来用的是AES加密 publicAbstractRememberMeManager(){this.serializer=newDefaultSerializer<PrincipalColle...
Apache Shiro是一款强大且易用的Java安全框架,使用范围非常广泛。Shiro默认使用CookieRememberMeManager,其处理cookie的流程是:rememberMe cookie值–>Base64解码–>AES解密–>反序列化。在Shiro<=1.2.4版本下,AES密钥是硬编码的,导致攻击者可以构造加密的反序列化数据执行任意命令。下载Shiro 1.2.4的代码,先...