0

我正在实现 Spring Security 登录,我试图理解一些事情,这是我想要实现的场景:

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

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

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

4

2 回答 2

1

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

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

于 2013-07-18T06:47:34.080 回答
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 服务,而不会中断应用程序的流程。

于 2019-01-20T18:22:32.880 回答