我遵循CAS Best Practices来构建cas.war
(v4.0.0)并将其部署到Tomcat7。启动Tomcat后,我可以在以下位置访问我的CAS登录页面:
https://localhost:8443/cas/login
然后我部署一个“客户端”应用程序(使用Shiro进行身份验证的Grails网络应用程序,该应用程序在以下位置在线:
http://localhost:9100/myapp
我转到myapp
的身份验证URL:
http://localhost:9100/myapp/secret
我已成功重定向到我的CAS登录页面(目前,我正在使用默认的casLoginView.jsp
)。我检查了我的浏览器cookie,对于CAS站点,我有一个JSESSIONID
。我使用CAS默认凭据(用户名为casuser;密码为Melon)登录,并成功重定向到http://localhost:9100/myapp/secret
。巨大的成功!我再次检查Cookie,发现我拥有相同的JSESSIONID
和新的CASTGC
Cookie。
我现在直接进入我的CAS注销页面:
https://localhost:8443/cas/logout
我看到“注销成功”消息,然后再次检查我的cookie。CASTGC
cookie不见了,我仍然有一个JSESSIONID
,但是它与我得到的第一个Cookie不同。JSESSIONID
我现在返回经过身份验证的URL:
http://localhost:9100/myapp/secret
我希望被重定向到CAS登录页面:相反,我被允许查看
/secret
页面,并且即使注销后,似乎仍通过身份验证!
我相信
我需要通过将其作为SingleSignOutFilter
放置在myapp
的web.xml
中来实现instructed here。>SingleSignOutFilter
中的web.xml
配置为单点注销将完成我的实现,还是我需要做更多的配置?/logout
链接,那么无论何时我尝试转到经过身份验证的URL,它都应将我重定向回/login
页面?JSESSIONID
和CASTGC
有什么区别?服务器如何处理/使用它们的不同?cas-servlet.xml
中进行任何配置才能使单点登录工作?如果是这样,该怎么办?如果不是,此文件用于什么?我遵循CAS最佳实践来构建cas.war(v4.0.0)并将其部署到Tomcat7。启动Tomcat时,可以访问以下网址的CAS登录页面:https:// localhost:8443 / cas / login我...
我需要知道的:
- 将
SingleSignOutFilter
中的web.xml
配置为完整单点注销的实施,还是我有更多配置需要做什么?