提问者:小点点

Spring Security性、AJAX和SiteMinder


我正在实现Spring Security登录,我正在尝试理解一些东西,这是我想要实现的场景:

  1. 对于初始登录,显示登录页面并让用户进入。
  2. 如果在某个非活动会话过期后,用户执行了一些操作,则向他显示弹出窗口以进行身份验证(浏览器中基于js的弹出窗口)。继续操作,就像没有登录表单一样。

实现表单很容易,但是我如何使弹出窗口工作-假设我在会话过期后向一些受保护的URL发出请求,我如何确保它没有转发到登录页面,而是转发到显示弹出窗口的登录处理程序?

另一个问题-我需要与SiteMinder集成,所以我需要读取登录/密码组合,读取后转发到SiteMinder进行身份验证,完成后我想返回而不转发。


共2个答案

匿名用户

对SiteMinder问题的回答:Siteminder通常安装在servlet容器后面的Web服务器上。此外,Siteminder管理身份验证,应用程序根本无法访问用户密码。要与Siteminder集成,请使用以下过滤器:http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295.

回答弹出式登录问题:由于您需要与Siteminder集成,我不建议通过弹出式登录实现登录。

匿名用户

上面springsource网站上给出的示例非常原始,可以在几个用例中中断。单独使用SM_USER标头有几个注意事项,请参阅我的答案:如何在siteminder的Spring Security预认证中验证SM_USER标头

CASSO又名SiteMinder,以及其他传统的html表单请求响应SSO系统,很难处理单页应用程序并保护您通过AJAX调用的Web服务,而不会中断应用程序的流程。