📅  最后修改于: 2023-12-03 14:47:34.490000             🧑  作者: Mango
当我们使用 Spring Boot 时,默认情况下,它将生成一个随机的密码作为应用程序的安全密码。虽然这确实很方便,但是在某些情况下,我们可能需要自定义安全密码。
以下是几种避免生成安全密码的方法:
在命令行中使用以下参数启动应用程序:
java -jar myapp.jar --spring.security.user.password=mypassword
这将使用“mypassword”作为应用程序的密码。
您可以将以下属性添加到应用程序的 application.properties 或 application.yml 文件中:
spring.security.user.name=myuser
spring.security.user.password=mypassword
如果您需要更高级的安全配置,请创建一个类,继承 WebSecurityConfigurerAdapter,并覆盖以下方法:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER")
.and()
.withUser("admin").password("password").roles("ADMIN");
}
}
在上面的示例中,我们启用了 Web 安全性,并配置了创建用户以及访问规则。这将覆盖 Spring Boot 的默认安全设置。
以上是几种避免生成安全密码的方法,您可以根据应用程序的需求选择最适合您的方法,以确保应用程序的安全性。