如何使siteminder会话无效

时间:2016-08-11 11:04:12

标签: java angularjs spring session

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

如何使Siteminder会话无效。我在Spring Security中配置如下。但它不适合我。

在HTML中

__construct ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )

在Spring Security中

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

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

我们正在考虑使SMSESSION无效,以便应用程序在点击&#34;转到登录页面时重定向到siteminder&#34;。有人可以帮助我。

UPDATE1 我尝试在机器人请求和休息控制器的响应对象中设置SMSESSION = LOGGEDOFF。但它没有工作,因为没有为角度保持会话并在请求/响应中设置它们只是没有帮助我

1 个答案:

答案 0 :(得分:0)

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

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

正确的,Siteminder支持的方式是这样的:

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

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

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

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

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

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

当用户没有有效的SMSESSION(&#34; LOGGEDOFF&#34;不是有效的SMSESSION)时,他被视为实际已注销。

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