jtlgb

导航

 

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);

  

posted on 2019-03-11 15:04  jtlgb  阅读(430)  评论(0编辑  收藏  举报