【问题标题】:Jasig CAS Single Sign Out - LogoutJasig CAS 单点注销 - 注销
【发布时间】:2015-03-19 23:54:25
【问题描述】:

我目前正在使用 CAS 服务器 3.5.2 进行测试,我正面临着 注销问题。 我对这些主题的了解有限,无法继续深入 那一点。

我安装了一个 CAS 服务器,我有 2 个相同的 java 实例 指向该 CAS 服务器的应用程序(如果我不使用 adecuates 条款)。 所以,当我访问我的客户端应用程序的受保护资源时,我 重定向到 CAS 登录页面,如果凭据正常,我会检查我的数据库 然后我访问资源。然后,如果我访问相同的受保护 来自客户端应用程序的第二个实例的资源我不是 重定向到登录页面。太完美了。

问题在于注销。为此,我首先执行一个 session.invalidate() 并访问 CAS 注销页面。没关系,因为, 从我注销的应用程序中,我必须再次登录才能访问 受保护的资源。另一方面,第二个应用程序仍然存在 已连接,我无需再次登录即可访问受保护的资源。 好吧,我知道 session.invalidate() 是第一个本地的 应用程序,但我认为 CAS 服务器会“广播” 与其他应用程序断开连接,但没有。

有没有人可以给我单曲的经验反馈 出题?

【问题讨论】:

    标签: logout cas jasig


    【解决方案1】:

    首先确保在 CAS 属性文件中启用了 SSO,如果没有确保在客户端中启用了 SSO 侦听器。 如果它们被启用,那么我的猜测是问题出在 LogoutManagerImpl.java 或 SamlCompliantLogoutMessageCreator.java 文件中。

    CAS 中的 SSO 是通过反向通道通过传输 SAML XML 消息来执行的。 去年我遇到了 SSO 功能的问题,结果发现正在广播的 XML 消息有一个错误,导致它无法被解析。

    【讨论】:

    • 感谢您的宝贵时间。我回答了我的问题(我的问题是由于 web.xml 中的过滤器顺序错误)。
    【解决方案2】:

    终于解决了... 在 web.xml 中,过滤器的顺序很重要。单点退出过滤器必须放在开头。 请参阅该部分https://wiki.jasig.org/display/CASC/CAS+Client+for+Java+3.1#CASClientforJava3.1-OrderofRequiredFilters

    【讨论】:

      猜你喜欢
      • 2011-09-01
      • 2015-05-03
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多