java - 如何使 Siteminder session 失效

标签 java angularjs spring session

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

如何使 Siteminder session 无效。我在 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 无效,以便应用程序在单击“转到登录页面”时会重定向到 siteminder。有人可以帮我解决这个问题吗?

更新1 我尝试在休息 Controller 的机器人请求和响应对象中设置 SMSESSION=LOGGEDOFF 。但它不起作用,因为没有为 Angular 维护 session ,并且在请求/响应中设置它们对我没有帮助

最佳答案

首先,HTTP 跟踪对于在实践中诊断此问题有很大帮助。

现在来说说理论: 从客户端删除 SMSESSION cookie 是注销用户的有效方法如果未使用 Siteminder session 存储且未使用 CookieProvider。否则,它会使 Siteminder 端的 session 仍然处于 Activity 状态。

Siteminder 支持的正确方法如下:

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

当具有 Activity Siteminder session 的任何用户到达此 URI 时,Siteminder Webagent 和策略服务器将:

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

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

  • 将“Set-Cookie: SMSESSION=LOGGEDOFF” header 添加到响应中(如果重定向到登录页面,则为 302;如果页面不 protected ,则为 200)。这将使客户端的 SMSESSION 失效。

  • 应用定义的 Siteminder 策略(如果有)(如果 URI protected ,则将应用身份验证方案,否则底层 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

关于java - 如何使 Siteminder session 失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894585/

相关文章:

java - 为什么 Ant exec 不使用我的路径?

java - 错误: No operations allowed after connection closed

php - 如何将 PHP 变量传递给 angular js?

angularjs - Knockout ko.dataFor 的 Angular 等效项

javascript - AngularJS 1.2.26 $scope异步函数执行摘要循环错误

java - tomcat 上的 Spring Boot war 文件 : errorPageFilter cannot be cast to TomcatEmbeddedServletContainerFactory

java - 根据请求url自动选择viewResolver?

javascript - 将 AngularJS 与 SpringMVC 结合使用 - 为什么以及如何?

java - LWJGL透明度

java - ViewPagerAdapter 选项卡标题翻译 Android 库 neokree/materialtabs