【问题标题】:Double authentication mechanism: SSO and DB credentials双重身份验证机制:SSO 和 DB 凭据
【发布时间】:2021-04-23 11:38:29
【问题描述】:

我有一个 Java Spring Web 应用程序(没有 Spring Boot),它具有使用数据库用户凭据的“标准”身份验证机制(它使用 Spring Security lib)。

现在我需要知道是否可以使用外部身份提供程序和 SSO 登录来包含第二个身份验证方法。

例如:具有特定电子邮件域(例如:userX@domain1.com)的用户使用他的数据库凭据登录,但另一种类型的用户(例如:userY@domain2.com)需要能够登录外部 IDP。

我已经用Spring Security SAML lib 和 ADFS 或 OpenAM 开发了一堆应用程序,但这是所有用户唯一的登录方法。

如果可能的话,我需要如何设置 Spring 安全配置才能实现这一点?也许我应该使用多提供商配置?

谢谢。

【问题讨论】:

    标签: java spring authentication spring-security single-sign-on


    【解决方案1】:

    可以通过检查用户域并重定向到您自己的支持基于UserNamePassword的DB身份验证的服务或重定向到SSO服务来实现支持多种身份验证机制。

    对于配置 Spring Security,您可以创建单独的实现扩展

    org.springframework.security.authentication.AuthenticationProvider

    Checkout this link that guides on how to implement multiple authentication mechansism

    对于 SSO,您必须使用 SSO 提供程序配置 redirectURL,该提供程序在内部使用 SAML 响应调用您的 API。

    SSO with spring security

    【讨论】:

      猜你喜欢
      • 2010-10-03
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      相关资源
      最近更新 更多