java双重认证机制:sso和db凭证

oyxsuwqo  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(444)

我有一个JavaSpringWeb应用程序(没有SpringBoot),它有一个使用数据库用户凭据的“标准”身份验证机制(它使用SpringSecurity库)。
现在我需要知道是否有可能包含第二个身份验证方法,以及外部身份提供程序和sso登录。
例如:具有特定电子邮件域的用户,例如:userx@domain1.com,使用db凭据登录,但使用其他类型的用户(例如:usery@domain2.com)需要能够登录一个外部idp。
我已经用springsecuritysaml-lib和adfs或openam开发了一系列应用程序,但这是所有用户的唯一登录方法。
如果可能的话,我需要如何设置spring安全配置才能实现这一点?也许我应该使用多提供者配置?
谢谢。

ars1skjm

ars1skjm1#

支持多种身份验证机制可以通过检查用户域并重定向到您自己的支持基于用户名密码的db身份验证的服务或重定向到sso服务来实现。
对于配置Spring Security ,您可以创建单独的实现
org.springframework.security.authentication.authenticationprovider验证提供者
checkout 此链接,该链接指导如何实现多重身份验证机制
对于sso,您必须使用sso提供程序配置一个redirecturl,该提供程序使用saml响应在内部调用api。
带spring security的sso

相关问题