我可以在应用程序中同时实现 SAML 和基本 spring 安全性吗?
Posted
技术标签:
【中文标题】我可以在应用程序中同时实现 SAML 和基本 spring 安全性吗?【英文标题】:can I implement both SAML and basic spring security within an application? 【发布时间】:2015-05-15 16:23:29 【问题描述】:我对我们的应用程序有要求,我们需要在我们的应用程序中实现 Spring SAML,以便为一位客户启用联合 SSO。但是,我们需要使用 spring-security 为其他客户维护现有的登录流程。
所以我的问题是,我们能否为 Web 应用程序设置两种安全机制,以便将其视为多租户。
我可以在同一个应用程序中实现 OAuth 和 SAML。
提前谢谢..
【问题讨论】:
【参考方案1】:是的,您可以将现有的密码身份验证与 SAML 结合使用。有关详细信息,请参阅 Spring SAML 的示例应用程序 - 它包含两种方法的组合。也可以包含 OAuth 用例,但我不知道有任何指南。
【讨论】:
在这种情况下如何决定使用哪一个。我需要为 saml 提供单独的 url 模式吗? 您可以将用户名/密码发布到例如/j_spring_security_check,通过重定向到 /saml/login 启动 SAML 身份验证,或从 IDP(通过 IDP 初始化的 SSO)接收 SAML 断言到 /saml/SSO。 Spring Security 在任何情况下都将涉及您的 UserDetailService 实现,您可以在其中进行一些过滤/用户处理,并且在所有情况下,您最终都会得到一个带有用户详细信息的 Authentication 对象。 有人有工作示例或链接吗?我已经启动并运行了示例应用程序,但它有一个拦截器 /** 并将所有内容重定向到 IDP。我一生都找不到你在文档中提到的例子。 github.com/spring-projects/spring-security-saml/blob/master/… /saml/web/* 正在使用基于表单的登录以上是关于我可以在应用程序中同时实现 SAML 和基本 spring 安全性吗?的主要内容,如果未能解决你的问题,请参考以下文章
Shibboleth SP 是 SAML 2.0 的实现吗?