qq_35182361
qq_35182361
采纳率0%
2018-04-20 13:34 阅读 1.5k

cas5.1.5如何实现记住密码自动登陆

40

最近完善公司做的单点登录,给单点登陆添加rememberMe功能,即单点登陆成功后关闭浏览器再打开浏览器输入访问地址不再需要重新登陆,而是自动登陆成功,项目为maven项目,遇到以下问题:
cas5.0版本以下实现记住密码自动登陆(rememberMe)网上资料如下:
1、修改配置文件

1.1、deployerConfigContext.xml
修改WEB-INF/deployerConfigContext.xml,在id为authenticationManager的bean中添加

 <property name="authenticationMetaDataPopulators">  
            <list>  
                <bean class="org.jasig.cas.authentication.principal.RememberMeAuthenticationMetaDataPopulator"></bean>  
            </list>  
        </property> 

1.2、login-webflow.xml

修改WEB-INF/login-webflow.xml

 <view-state id="viewLoginForm" view="casLoginView" model="credential">
<binder>
    <binding property="username" />
    <binding property="password" />
    <binding property="rememberMe" />
</binder>**

1.3、ticketExpirationPolicies.xml

修改WEB-INF/spring-configuration/ticketExpirationPolicies.xml,参数分别为session过期时间和记住密码的时效时间,单位为毫秒

 <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy">
    <property name="sessionExpirationPolicy">
        <bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
            <constructor-arg index="0" value="7200000"></constructor-arg>
        </bean>
    </property>
    <property name="rememberMeExpirationPolicy">
        <bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
            <constructor-arg index="0" value="7200000"></constructor-arg>
        </bean>
    </property>
</bean>

2、修改登录页面

cas默认登录页面为WEB-INF/view/jsp/default/ui/casLoginView.jsp,在对应位置添加代码

 <input type="checkbox" name="rememberMe" id="rememberMe" value="true" /> <label for="rememberMe">Remember Me</label>

但是cas5.1.5版本是springBoot结构的,就没有ticketExpirationPolicies.xml文件,而且deployerConfigContext.xml里什么配置也没有,我的项目结构如下:整体结构 如图 图片说明请大神指点。
其中sso-server模块详细结构如图图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • qq_30963705 qq_30963705 2018-04-20 14:15

    就是跟正常情况下一样,所以不用太多改动

    点赞 评论 复制链接分享
  • qq_35182361 qq_35182361 2018-04-21 10:20

    1.修改WEB-INF/login-webflow.xml

      <view-state id="viewLoginForm" view="casLoginView" model="credential">
    <binder>
        <binding property="username" />
        <binding property="password" />
        <binding property="rememberMe" />
    </binder>
    

    2.2.cas默认登录页面为WEB-INF/view/jsp/default/ui/casLoginView.jsp,在对应位置添加代码:

      <input type="checkbox" name="rememberMe" id="rememberMe" value="true" /> <label for="rememberMe">Remember Me</label>
    
    点赞 评论 复制链接分享
  • qq_35182361 qq_35182361 2018-04-21 13:08

    application.properties:
    #设置应用端ticket有效期 单位 秒

     cas.ticket.st.timeToKillInSeconds=30
    

    #设置服务端ticket有效期 单位 秒(若设置了rememberMe,此时间即为rememberMe的时间)

     cas.ticket.tgt.timeToKillInSeconds=7200
    
    点赞 评论 复制链接分享

相关推荐