如何在特定配置文件中启用Spring基本身份验证?

4

我将在我的@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 中。在开发环境中,端点不应该有任何身份验证。


1
从安全角度考虑,应该采用另一种方式。始终启用安全性并禁用开发配置文件...(您不希望在生产环境中意外运行未经保护的代码!)。只需添加一个application-dev.properties文件,并使用security.basic.enabled=false禁用安全性即可。 - M. Deinum
https://dev59.com/cF8e5IYBdhLWcg3wja1I - soorapadman
@M.Deinum 很好,您能将此作为答案添加以便我接受吗?这正是我所寻找的,无需添加任何代码。 - membersound
1个回答

3

从安全角度考虑,您可能希望相反的操作。默认情况下启用安全性,并在使用 dev 个人资料运行时禁用。实际上,这很容易实现,只需添加一个 application-dev.properties 文件(假设您的个人资料名称为 dev)。

将以下内容添加到文件中:

security.basic.enabled=false

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


1
各位,这个属性在引导程序2.x之后已经被弃用。查看详细信息-> https://dev59.com/71UL5IYBdhLWcg3w1rBK - wonsuc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接