28. Security

如果类路径下存在Spring Security,那么web应用程序在默认情况下是安全的. Spring Boot依靠Spring Security的内容协商策略完决定是否使用httpBasicformLogin. 为了添加方法级安全至web应用中,你还可以添加@EnableGlobalMethodSecurity所需的配置.额外信息可在Spring安全参考指南中查阅.

默认UserDetailsService为单一用户.用户名为user,密码是随机的且在应用程序启动时以INFO级别打印出信息,如以下示例所示:

  1. Using generated security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35

Note

如果你调整你的日志配置,确保org.springframework.boot.autoconfigure.security类别日志设置为INFO级别.否则,不会打印默认密码.

您可以通过spring.security.user.namespring.security.user.password属性更改用户名和密码.

在web应用程序中默认获得的基本特性如下:

  • UserDetailsService(或WebFlux应用中的ReactiveUserDetailsService)实例内存中存储及生成的单个用户密码(见SecurityProperties.User获取相关用户属性).
  • 为特定应用提供基于表单的登录或HTTP基本安全(根据Content-Type)(包括actuator端点如果类路径下存在actuator).
  • 用于发布身份验证事件的DefaultAuthenticationEventPublisher. 您可以通过添加实例的方式来提供不同的AuthenticationEventPublisher.