首页
学习
活动
专区
圈层
工具
发布

CAS
EN

Stack Overflow用户
提问于 2014-06-05 19:47:49
回答 1查看 2.1K关注 0票数 3

我遵循CAS最佳做法构建cas.war (v4.0.0)并将其部署到Tomcat7。当我旋转Tomcat时,我可以访问我的CAS登录页面:

代码语言:javascript
复制
https://localhost:8443/cas/login

然后,我部署了我的一个“客户端”应用程序(一个使用Shiro进行身份验证的Grails web应用程序),该应用程序在线的网址是:

代码语言:javascript
复制
http://localhost:9100/myapp

我转到一个经过身份验证的myapp网址

代码语言:javascript
复制
http://localhost:9100/myapp/secret

我成功地重定向到我的CAS登录页面(目前,我使用的是默认的casLoginView.jsp)。我检查我的浏览器cookie,对于CAS站点,我有一个JSESSIONID。我使用CAS默认凭据登录(用户名为casuser;密码为Melon),并成功地重定向到http://localhost:9100/myapp/secret。伟大的成功!我再次检查我的cookie,并看到我有相同的JSESSIONID以及一个新的CASTGC cookie。

我现在直接转到我的CAS注销页面:

代码语言:javascript
复制
https://localhost:8443/cas/logout

我看到一条“登录成功”的消息,然后再检查一下我的cookie。CASTGC cookie已经消失,我仍然有一个JSESSIONID,但是,它与第一个不同的JSESSIONID

我现在返回到我经过身份验证的URL:

代码语言:javascript
复制
http://localhost:9100/myapp/secret

我希望被重定向到CAS登录页面:相反,我可以查看/secret页面,看起来仍然是经过身份验证的,即使在注销之后!!

我认为我需要实现SingleSignOutFilter,把它放在myappweb.xml中作为受命于此

我需要知道的是:

  • web.xml中配置web.xml会完成我的单点退出的实现,还是需要做更多的配置?
  • 一旦实现了单一的退出,它会有我上面描述的预期的行为吗?这意味着,如果我转到/logout链接,那么无论何时我尝试访问一个经过身份验证的URL,它都应该将我重定向回/login页面吗?
  • 我如何知道我使用的是哪种协议(CAS 2.0或SAML 1.1)?我应该使用任何默认的CAS 4.0.0工具,因为我没有覆盖项目中的任何内容。
  • JSESSIONIDCASTGC有什么区别?服务器如何不同地处理/使用它们?
  • 我是否需要在cas-servlet.xml中配置任何东西才能实现单点登录?如果是,什么?如果没有,该文件用于什么?
EN

回答 1

Stack Overflow用户

发布于 2019-11-28 20:15:26

我需要知道的是:

  • web.xml中配置web.xml会完成我的单点退出的实现,还是需要做更多的配置?

是的,当然。但是,为了避免资源泄漏,您应该遵循指南,并将SingleSignOutHttpSessionListener添加到web.xml中。有关客户端的完整设置,请参见Java客户端正式文档。不要忘了将Github页面切换到您使用的CAS客户端版本。(请注意,它可能包含排字。)

  • 一旦实现了单一的退出,它会有我上面描述的预期的行为吗?这意味着,如果我转到/logout链接,那么无论何时我尝试访问一个经过身份验证的URL,它都应该将我重定向回/login页面吗?

当然,这就是单注销机制的要点--它破坏了相应客户端应用程序中的所有会话--只要它们能够处理/logout上从CAS发出的注销回调。

  • 我如何知道我使用的是哪种协议(CAS 2.0或SAML 1.1)?我应该使用任何默认的CAS 4.0.0工具,因为我没有覆盖项目中的任何内容。

如果您不知道如何为CAS或客户端应用程序配置SAML,那么您肯定会使用CAS协议。

  • JSESSIONIDCASTGC有什么区别?服务器如何不同地处理/使用它们?

CASTGC cookie是CAS会话标识符的持有者(会话,从技术上讲,是由CAS在其类似地图的结构中管理的)。这是只有你和CAS服务器知道的秘密。Java被Java用于标识您的应用程序会话,正如JSESSIONID规范所定义的那样。具体而言,CAS主要用于跟踪您当前的歌唱过程。

  • 我是否需要在cas-servlet.xml中配置任何东西才能实现单点登录?如果是,什么?如果没有,该文件用于什么?

不,您没有。但是您可能会读到描述服务器端SLO功能的原理和可能的自定义的官方Apereo文件

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24068989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档