Spring安全性,AJAX和SiteMinder

时间:2013-07-17 21:19:54

标签: ajax spring-security siteminder

我正在实施Spring Security登录,我正在尝试理解某些内容,这是我想要实现的场景:

  1. 用于初始登录显示登录页面并让用户进入。
  2. 如果在一些不活动会话过期后用户做了一些操作,则会显示弹出窗口进行身份验证(浏览器中基于js的弹出窗口)。继续执行操作,就像没有登录表单一样。
  3. 实现表单很简单,但是如何使弹出窗口工作 - 假设我在会话过期后向某个受保护的URL发出请求,如何确保它不会转发到登录页面,而是转发给我的登录处理程序弹出窗口?

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

上面的springsource网站上给出的示例非常原始,可以在几个用例中打破。仅使用SM_USER标头有几个警告,请在这里查看我的答案:How to validate SM_USER header in Spring Security preauthentication for siteminder

CA SSO aka SiteMinder以及其他传统的html-form-request-response SSO系统在处理单页应用程序和保护您通过AJAX调用的Web服务时都非常费力,而又不会中断应用程序的流程