问题描述
我正在尝试找出如何在我们的应用程序中同时支持大多数用户的基于表单的登录和某些用户的基于saml2(Spring Security 5.4)的登录。
我尝试使用单个Java配置来处理两种类型,但这根本不起作用。因此,我尝试使用一种用于表单登录的配置和一种用于saml2登录的单独配置。但是我也无法正常工作。其中一个似乎优先于另一个。如果禁用saml2配置,则可以使用表单登录名登录;如果禁用表单登录配置,则可以使用SSO / Keycloak登录。但是我无法使两个配置同时工作。
我有一个RequestMatcher
,它在每个安全配置中的子域上都匹配。
Saml2登录配置
http
.requestMatcher(new SubdomainSecurityMatcher("sso"))
.authorizeRequests()
.antMatchers("/**")
.authenticated()
.and()
.saml2Login(withDefaults())
表单登录配置
http
.requestMatcher(new SubdomainSecurityMatcher("app"))
.authorizeRequests()
.antMatchers("/**")
.authenticated()
.and()
.formLogin()
我是否需要自定义AuthenticationEntryPoint
来决定要执行的登录处理?
我尝试了很多事情,但是我不确定它是否或如何工作。有人设法对Spring Security 5.4中的新SAML2支持做类似的事情吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)