【问题标题】:Spring security, AJAX and SiteMinderSpring 安全、AJAX 和 SiteMinder
【发布时间】:2013-07-16 15:14:17
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ajax spring-security siteminder


    【解决方案1】:

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

    弹窗登录问题解答:由于需要与Siteminder集成,不建议实现弹窗登录。

    【讨论】:

    • 为什么不通过弹窗登录?我们这样做的原因是在会话到期后不刷新屏幕并保存状态。
    • 在 SiteMinder 的情况下,您将无法使用弹出窗口,因为 SiteMinder 位于浏览器和您的应用程序服务器之间
    【解决方案2】:

    上述 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 服务,而不会中断应用程序的流程.

    【讨论】:

      猜你喜欢
      • 2013-09-23
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 2023-03-11
      • 2016-12-27
      • 2018-12-27
      • 2016-02-05
      相关资源
      最近更新 更多