【问题标题】:How to enable spring basic authentication only on a specific profile?如何仅在特定配置文件上启用 spring 基本身份验证?
【发布时间】:2017-10-13 21:32:09
【问题描述】:

我在@RestController 端点上使用spring-boot-security 进行基本身份验证,如下所示:

pom.xml:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

application.properties:

security.user.name=user
security.user.password=pass

问题:如何在开发中禁用基本身份验证,并且仅在使用启动参数-Dspring.profiles.active=production 激活特定配置文件时启用它。

我想将上面的属性移动到application-production.properties。在 dev 中,端点上不应该有任何身份验证。

【问题讨论】:

  • 从安全角度来看,反之亦然。始终为开发配置文件启用安全性并禁用...(您不想在生产中意外运行不安全!)。只需添加一个application-dev.properties 即可禁用security.basic.enabled=false 的安全性。
  • @M.Deinum 太好了,你能把它添加为答案,以便我接受吗?这就是我一直在寻找的,无需添加任何代码。

标签: java spring spring-boot spring-security


【解决方案1】:

从安全角度来看,您可能想做相反的事情。默认情况下启用安全性,并在使用dev 配置文件运行时禁用。这实际上很容易添加application-dev.properties(假设您的个人资料名为dev

将以下内容添加到文件中

security.basic.enabled=false

对于开发人员,请从启用配置文件开始。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-10-18
  • 2011-05-10
  • 2023-03-05
  • 2012-06-05
  • 2020-03-29
  • 1970-01-01
  • 2020-01-15
  • 2014-10-27
相关资源
最近更新 更多