论坛首页 Java企业应用论坛

CAS服务器实验——单点退出测试

浏览 3646 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-04-10  

 

cas服务器配置

进行单点退出时,需要通过cas服务器的/logout路径执行退出,以便cas服务器清除对当前session的保持,并通知其他的应用程序用户已经退出。默认情况下,cas服务器执行退出之后,会转向自带的一个退出成功页面,而在实际的项目中,一般都不会使用这个默认的页面,所以需要对caslogoutController进行修改,启用它的退出转向。这样,在退出时,只要在url后面增加service参数指定退出之后的跳转页面,浏览器就会转向该跳转页面。

cas-servlet.xml进行修改,找到logoutController,将属性followServiceRedirects的值修改为true

<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
	p:centralAuthenticationService-ref="centralAuthenticationService"
	p:logoutView="casLogoutView"
	p:followServiceRedirects="true"
	p:warnCookieGenerator-ref="warnCookieGenerator"
	p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator" />

 客户端的测试页面index.jsp中增加退出链接

<body>
 	首页,当前登录用户是:<%=session.getAttribute("User_Info") %>
	<br />
	<a href="http://localhost:8080/cas/logout?service=http://localhost:8081/cas-client1">退出</a>
</body>

 对客户端cas-client2进行相应的修改。

 

客户端的web.xml中增加单点退出的过滤器和监听器

在前面的单点登录中,已经增加过了过滤器和监听器,不再描述。需要注意的是,单点退出的过滤器需要配置在其他过滤器之前。

 

测试

 

重新启动cas-servercas-client1cas-client2进行测试。

 

首先使用http://localhost:8081/cas-client1进行登录,登录之后的页面如下:



 

在同一浏览器的新选项卡中输入cas-client2的地址http://localhost:8082/cas-client2,此时能正常访问到受保护的index.jsp

 

点击这里的“退出”链接,可以看到浏览器又跳转到了cas的登录页面。这里由于退出链接的service地址指向的是http://localhost:8081/cas-client1,而该路径是受安全保护的,所以又跳转到了cas的登录页面。

 

此时,对cas-client2的页面进行刷新,浏览器也跳转到了cas的登录页面,单点退出测试成功。

 

  • 大小: 7.4 KB
   发表时间:2013-04-12  
不错

退出后跳转到其它页面需要在cas-servlet.xml中配置一下,默认是没有配置的


<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
p:centralAuthenticationService-ref="centralAuthenticationService"
p:logoutView="casLogoutView"
p:warnCookieGenerator-ref="warnCookieGenerator"
p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
p:followServiceRedirects="true"
/>


找到这个bean增加红色部分属性
0 请登录后投票
   发表时间:2013-04-12  
thc1987 写道
不错

退出后跳转到其它页面需要在cas-servlet.xml中配置一下,默认是没有配置的


<bean id="logoutController" class="org.jasig.cas.web.LogoutController"
p:centralAuthenticationService-ref="centralAuthenticationService"
p:logoutView="casLogoutView"
p:warnCookieGenerator-ref="warnCookieGenerator"
p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"
p:followServiceRedirects="true"
/>


找到这个bean增加红色部分属性


看得很仔细!
我是实验做完之后才来整理的文章,有些疏忽了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics