美文网首页
Shiro配置RememberMe

Shiro配置RememberMe

作者: 我是邱邱 | 来源:发表于2018-09-12 18:24 被阅读0次

    1.在spring-bean.xml中添加RememberMe的配置

    <!-- remenberMe配置 -->
        <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
            <constructor-arg value="rememberMe" />
            <property name="httpOnly" value="true" />
            <!-- 默认记住7天(单位:秒) -->
            <property name="maxAge" value="604800" />
        </bean>
        <!-- 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.需要在安全管理器中引入rememberMe管理器

    <!-- 安全管理器 -->
        <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">  
          <property name="realm" ref="myRealm"/>  
          <property name="cacheManager" ref="cacheManager" />
          <property name="rememberMeManager" ref="rememberMeManager" />
        </bean>
    

    3.需要在Shiro过滤器中设置

    <!-- 如果使用/**=authc,RememberMe将不起作用 -->
                    /**=user
    

    <!-- Shiro过滤器 -->
        <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">  
            <!-- Shiro的核心安全接口,这个属性是必须的 -->  
            <property name="securityManager" ref="securityManager"/>
            <!-- 身份认证失败,则跳转到登录页面的配置 -->  
            <property name="loginUrl" value="/login.jsp"/>
            <!-- 权限认证失败,则跳转到指定页面 -->  
            <property name="unauthorizedUrl" value="/unauthorized.jsp"/>  
            <!-- Shiro连接约束配置,即过滤链的定义 -->  
            <property name="filterChainDefinitions">  
                <value>  
                    /login=anon
                    /login.jsp=anon
                    /js/**=anon
                    
                    <!-- 如果使用/**=authc,RememberMe将不起作用 -->
                    /**=user
                </value>  
            </property>
        </bean>
    

    4.在前端设置

    <!--如果勾选上,将会发送一个name为"rememberMe" 值为"true"  -->
    <input type="checkbox" name="rememberMe" value="true"/>
    

    5.在后台登录界面设置

    //      如果只有配置而没有这个,RememberMe不起作用
            token.setRememberMe(true);
    

    相关文章

      网友评论

          本文标题:Shiro配置RememberMe

          本文链接:https://www.haomeiwen.com/subject/knkbgftx.html