【问题标题】:Spring Security - Conceptual question around generated security passwordSpring Security - 围绕生成的安全密码的概念问题
【发布时间】:2019-01-30 15:29:32
【问题描述】:

我正在观看一个使用 Spring Boot、数据和安全性与 REST 服务相关的 Udemy 课程,在设置项目时,我注意到服务器启动时打印的安全密码,由 Spring Security 生成:

Using generated security password: 25b18119-45f0-4d31-99ce-29ba2ccbe3c0
... After restarting
Using generated security password: f75fa549-7856-4fcf-9e70-9f738ad7171d
... After restarting
Using generated security password: 4777e44c-e598-4a2f-b690-ab70b5ca1d4e
...

这让我想知道两件事:

  1. 由于每次授权都会有不同的密码,其他应用程序如何使用我的服务?
  2. 这应该只是开发功能,不应该在生产中使用吗?

由于我在课程中没有再配置任何东西,所以每次重启服务器时,我仍然更新生成的安全密码,这很痛苦。有没有相关的配置来定义一个final应用密码?

【问题讨论】:

    标签: java spring spring-boot spring-security


    【解决方案1】:
    1. 由于每次授权都会有不同的密码,其他应用程序如何使用我的服务?

      1.1。正如您已经做的那样(通过在每个容器启动时更新(客户端的)密码)

      1.2。通过提供固定凭据...(您问题的核心)

    2. 这是否应该只是一个开发功能,而不应该在生产中使用?当然这是一个方便的开发功能,但也可以在生产中使用。

    要提供固定凭据,请添加spring.security.user.namespring.security.user.password 属性。 (到你的配置/application.properties/.yaml ...)

    参考:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html

    【讨论】:

      【解决方案2】:

      在 SpringBoot 中,您可以通过在“resources”文件夹下的 application.property 文件中指定来覆盖默认生成的密码。

      spring.security.user.name=admin
      spring.security.user.password=abcde
      

      【讨论】:

        猜你喜欢
        • 2021-07-05
        • 2011-06-02
        • 1970-01-01
        • 2014-05-24
        • 1970-01-01
        • 2021-05-13
        • 1970-01-01
        • 2015-01-08
        • 2012-04-10
        相关资源
        最近更新 更多