首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在spring安全性中,如何实现SAML和自定义身份验证处理程序

在spring安全性中,如何实现SAML和自定义身份验证处理程序
EN

Stack Overflow用户
提问于 2021-01-27 08:05:10
回答 2查看 477关注 0票数 2

我正在实现三种类型的身份验证机制,即SAML和两种自定义身份验证。因此,我如何实现基于报头的过滤器--它将检测身份验证类型,并将其路由到适当的身份验证机制。

  1. SAML:在SAML的情况下,如果cookie的密钥为saml,则必须进行SAML身份验证。在SAML身份验证中,每当用户登录时,我都会在浏览器中插入名为saml的cookie,对于进一步的请求,我需要传递saml cookie值并检查身份验证是否有效,从而调用REST。
  2. Custom authentication:如果cookie密钥具有token1token2,则执行自定义身份验证,这涉及通过传递令牌调用Rest并检查用户是否有效。

我了解带有spring安全性的SAML,但正如我在SAML中解释的那样,我们如何进行rest调用并实现一个过滤器,以调用适当的身份验证机制,如何实现这一点。是否有任何可以帮助解决上述情况的参考。

EN

回答 2

Stack Overflow用户

发布于 2021-01-29 22:09:51

您可以使用SpringSecurityAuthenticationManagerBuilder来完成它。使用其他地方定义的三个自动配置提供程序创建一个安全配置

代码语言:javascript
复制
@Autowired
private CustomAuthenticationProvider1 customProvider1;

@Autowired
private CustomAuthenticationProvider2 customProvider2;

@Autowired
private SAMLAuthenticationProvider samlProvider;

然后使用AuthenticationManagerBuilder添加它们

代码语言:javascript
复制
authenticationManagerBuilder.authenticationProvider(customProvider1);
authenticationManagerBuilder.authenticationProvider(customProvider2);
authenticationManagerBuilder.authenticationProvider(samlProvider);

对于完整的示例,您可以看到这篇文章

票数 0
EN

Stack Overflow用户

发布于 2021-02-01 03:58:49

我假设您正在使用Azure进行SAML身份验证。按照这种方式实现自定义和saml身份验证。

  1. 首先,使用spring安全性实现简单的JWT令牌身份验证。我希望使用这个用户可以使用usernamepassword进行身份验证。
  2. 实现SAML身份验证,我假设您正在使用Azure。这个天蓝色将返回一个令牌。
  3. 将蓝色令牌从前端传递到rest。使用azure 在RestTemplate的帮助下验证此令牌。如果令牌是有效的,那么创建普通的spring令牌。

现在,实际上您正在维护用于所有身份验证的单一令牌。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65915078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档