最近完善公司做的单点登录,给单点登陆添加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模块详细结构如图