1. 在Spring的相關配置文件中加入如下Remember me管理器配置:
<!-- rememberMe管理器 -->
<bean id="rememberMeManager"
class="org.apache.shiro.web.mgt.CookieRememberMeManager">
<property name="cipherKey" value="#{T(org.apache.shiro.codec.Base64).decode('4AvVhmFLUs0KTA3Kprsdag==')}"/>
<property name="cookie" ref="rememberMeCookie"/>
</bean>
2.設置Cookies會話模板
<!-- 會話Cookie模板 -->
<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>
3.remember me cookies配置
<bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
<constructor-arg value="rememberMe"/>
<property name="httpOnly" value="true"/>
<property name="maxAge" value="2592000"/><!-- 30天 -->
</bean>
4.securityManager定義RememberMe的管理器
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="userRealm"/>
<!-- 定義RememberMe的管理器 -->
<property name="rememberMeManager" ref="rememberMeManager"/>
</bean>
5.在html代碼中加入一個checkbox框
<input type="checkbox" name="rememberMe">下次自動登錄
6.在控制層添加rememberMe參數傳遞,加了請忽略,並將參數傳遞到UsernamePasswordToken中
UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
7.測試該方式是否可用即可
