我们正在使用Siteminder进行身份验证,并且正在使用无状态的Angular js。
如何使Siteminder会话无效。我已经在Spring Security中进行了以下配置。但这对我不起作用。
在HTML中
<a href="../../logout">Sign Out</a></li>
在Spring Security中
<logout delete-cookies="JSESSIONID,SMSESSION" invalidate-session="true" logout-url="/logout" logout-success-url="/Logout.html" />
在Logout.html中,我们提供了一个链接,可以再次进入登录页面。单击此按钮后,它应该转到siteminder登录页面。但是它正在加载我们的欢迎页面。
我们正在考虑使SMSESSION无效,以便在单击“转到登录页面”时,该应用程序将重定向到siteminder。有人可以帮助我吗?
更新1
我尝试在其余控制器的机器人请求和响应对象中设置SMSESSION = LOGGEDOFF。但是它没有用,因为没有维护角度的会话并将其设置为请求/响应只是没有帮助我
最佳答案
首先,HTTP跟踪将在很大程度上帮助诊断此问题。
现在为理论:
如果未使用Siteminder会话存储并且未使用CookieProviders,则从客户端删除SMSESSION cookie是注销用户的有效方法。否则,它将使会话在Siteminder端仍然处于活动状态。
Siteminder支持的正确方法是:
您的Siteminder管理员应该能够为您提供一个URI,该URI将触发适当的Siteminder注销。
在所涉及的代理程序ACO的参数LogoffUri
中配置此URI。
当具有活动Siteminder会话的任何用户到达此URI时,Siteminder Webagent和策略服务器将:
如果配置了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