【问题标题】:only check SAML authenticated, do not forward只检查 SAML 认证,不​​转发
【发布时间】:2015-11-25 15:41:28
【问题描述】:

我正在使用 spring-security-saml2 库根据 SAML IdP 对我的用户进行身份验证。它运行良好,但现在我只想检查用户是否已通过该 IdP 进行身份验证(并避免自动转发以向用户询问凭据)。

用例是我想添加其他自定义身份验证机制,并且只有在所有机制都失败后才转发到登录页面。所以我想检查一个活动的 SAML 会话,如果没有,则通过 OAuth 进行检查,...,如果没有在任何地方进行身份验证,则将用户转发到登录页面。

这是否可以使用 spring-security-saml2 库,还是我必须分叉/更改它?

【问题讨论】:

    标签: java spring spring-security saml spring-saml


    【解决方案1】:

    您可以同步 SAML 会话 http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf。 但是,如果您在从 idp 重定向(auhtn 请求响应成功)后创建自己的会话(超时时间很小,并且您重置每个请求的超时)会更容易

    【讨论】:

    • 不确定我们说的是同一件事吗?我只想检查是否存在 SAML 会话(如果没有,则不会自动转发用户以使用 IdP 登录)。
    【解决方案2】:

    可以将isPassive 属性添加到SAML 身份验证请求,以获得您正在寻找的行为。这是通过在WebSSOProfileOptions 对象上调用setPassive(true) 来控制的,如https://github.com/spring-projects/spring-security-saml/blob/master/core/src/test/java/org/springframework/security/saml/websso/WebSSOProfileHoKImplTest.java#L263 所示。

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 2016-10-06
      • 2022-11-15
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 2016-12-18
      • 1970-01-01
      相关资源
      最近更新 更多