【问题标题】:How to invalidate siteminder session如何使站点管理员会话无效
【发布时间】:2016-08-11 11:04:12
【问题描述】:

我们使用 Siteminder 进行身份验证,并且使用无状态的 Angular js。

如何使 Siteminder 会话无效。我在 Spring Security 中进行了以下配置。但这对我不起作用。

在 HTML 中

   <a href="../../logout">Sign Out</a></li>

在 Spring 安全中

  <logout delete-cookies="JSESSIONID,SMSESSION" invalidate-session="true"  logout-url="/logout" logout-success-url="/Logout.html" />

在 Logout.html 中,我们提供了一个再次进入登录页面的链接。单击此按钮后,它应该转到 siteminder 登录页面。但它正在加载我们的欢迎页面。

我们正在考虑使 SMSESSION 无效,以便应用在单击“转到登录页面”时重定向到站点管理员。有人可以帮助我吗?

更新1 我尝试在休息控制器的机器人请求和响应对象中设置 SMSESSION=LOGGEDOFF 。但它不起作用,因为没有为角度维护会话并将它们设置为请求/响应只是没有帮助我

【问题讨论】:

    标签: java angularjs spring session


    【解决方案1】:

    首先,HTTP 跟踪将有助于在实践中诊断此问题

    现在是理论: 从客户端删除 SMSESSION cookie 是一种有效的注销用户的方法如果未使用 Siteminder 会话存储且未使用 CookieProviders。否则,它会使会话在 Siteminder 端仍然处于活动状态。

    Siteminder 支持的正确方法如下:

    您的 Siteminder 管理员应该能够为您提供一个 URI,该 URI 将触发正确的 Siteminder 注销。 此 URI 在相关代理 ACO 的参数LogoffUri 中配置。

    当任何具有活动 Siteminder 会话的用户到达此 URI 时,Siteminder Webagent 和 Policy Server 将:

    • 使 Siteminder 会话存储中的会话数据无效,如果已配置(默认情况下未配置)

    • 如果使用了 CookieProvider,它将触发适当的重定向以从所有其他 cookie 域中删除 cookie。

    • 在响应中添加“Set-Cookie: SMSESSION=LOGGEDOFF”标头(如果重定向到登录页面,则为 302,如果页面不受保护,则为 200)。这将使客户端的 SMSESSION 无效。

    • 应用定义的 Siteminder 策略,如果有(如果 URI 受保护,则应用身份验证方案,否则,底层 WebServer 将处理页面)

    当用户没有有效的 SMSESSION(并且“LOGGEDOFF”不是有效的 SMSESSION)时,他被认为是实际注销。

    官方文档在这里(不是说它有多大帮助...)https://support.ca.com/cadocs/0/CA%20SiteMinder%2012%2052%20SP1-ENU/Bookshelf_Files/HTML/idocs/index.htm?toc.htm?agent-guide.html

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 2012-02-18
      • 2023-03-16
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      相关资源
      最近更新 更多