Spring Security-有关生成的安全密码的概念性问题

时间:2019-01-30 15:29:32

标签: java spring spring-boot spring-security

我正在观看使用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. 这仅是一项开发功能,而不应该用于生产中吗?

由于我在此过程中未进行任何其他配置,因此每次服务器重新启动时仍会更新生成的安全密码,这很痛苦。是否有任何相关配置来定义最终应用程序密码?

2 个答案:

答案 0 :(得分:1)

  1. 由于每次授权将使用不同的密码,另一个应用程序如何使用我的服务?

    1.1。就像您已经做过的那样(通过在每个容器开始时更新(客户端的)密码)

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

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

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

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

答案 1 :(得分:0)

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

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