Spring Boot 在本地环境中禁用 SAML 安全性

Posted

技术标签:

【中文标题】Spring Boot 在本地环境中禁用 SAML 安全性【英文标题】:Spring boot disable SAML security in Local environment 【发布时间】:2016-11-26 11:29:28 【问题描述】:

我正在使用 spring boot 1.4.0+spring-security-saml2-core 1.0.2 并借助以下链接 Spring-Boot-Saml-example 它运行良好。现在我想在我的本地环境(本地 PC)中禁用 spring-saml 安全性。它应该在开发和生产环境中工作。在 spring-Boot 中禁用 SAML 安全性我应该做的最小更改是什么?或者是否可以设置拥有所有证券的默认用户,以便 SAML 不会进行安全检查(这是我的假设)。

【问题讨论】:

最好至少有人提供解决此问题的提示。 不确定你是否看过这个:github.com/ulisesbocchio/spring-boot-security-saml 但简化了 spring boot 和 spring-security-saml 之间的集成 【参考方案1】:

完成此操作的正确方法是使用Spring Profiles。您可以设置使用基本身份验证的本地配置文件,然后在更高的环境中启用 SAML。

Profile Tutorial

Disable Spring Security using profiles

【讨论】:

感谢您的回复。虽然通过链接,它似乎可以解决我的问题。在 application.properties 文件中,我将设置以下属性 spring.profiles.active=local(对于 dev 它将是dev)并在WebSecurityConfig.java中我将设置@Profile(“dev”)以便SAML配置将为Dev环境而不是本地运行对吗?我希望这些信息也足够我有环境特定的属性文件所以我可以轻松翻转。如果有任何更改,请告诉我 效果很好。非常感谢您提供的共享链接。 是否可以在 SAML 安全上下文中包含虚拟用户?因为目前如果配置文件是“本地”SAML 本身并没有被执行,我想在配置文件是本地的或与虚拟用户创建 SAML 会话时使用虚拟(硬编码)用户运行 SAML。这可能吗?我也可以创建新的堆栈溢出问题。 是的,这应该是可能的。我建议为它打开一个新问题,其中包含来自您的 SamlUserDetail 服务的代码。这是一个在内存中创建用户的问题,该用户具有与 SAML 用户相同的授予权限。 谢谢。让我现在创建它。

以上是关于Spring Boot 在本地环境中禁用 SAML 安全性的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 应用程序的生产环境中禁用 GraphiQL Playground

是否有用于将 SAML 与 Spring Boot 应用程序集成的 Spring Boot SAML 客户端?

单个 Spring Boot 应用程序中的 SAML 和 Oauth2

Okta/Spring Boot Saml 应用程序进入无限循环

如何在 Spring Boot 中从 Azure SAML 2.0 应用程序获取角色或组

没有 Spring Boot 的 Spring Security SAML 身份元数据