28. Security
如果类路径下存在Spring Security,那么web应用程序在默认情况下是安全的.
Spring Boot依靠Spring Security的内容协商策略完决定是否使用httpBasic
或formLogin
.
为了添加方法级安全至web应用中,你还可以添加@EnableGlobalMethodSecurity
所需的配置.额外信息可在Spring安全参考指南中查阅.
默认UserDetailsService为单一用户.用户名为user
,密码是随机的且在应用程序启动时以INFO级别打印出信息,如以下示例所示:
Using generated security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35
Note
如果你调整你的日志配置,确保org.springframework.boot.autoconfigure.security类别日志设置为INFO级别.否则,不会打印默认密码.
您可以通过spring.security.user.name
和spring.security.user.password
属性更改用户名和密码.
在web应用程序中默认获得的基本特性如下:
UserDetailsService
(或WebFlux应用中的ReactiveUserDetailsService
)实例内存中存储及生成的单个用户密码(见SecurityProperties.User获取相关用户属性).- 为特定应用提供基于表单的登录或HTTP基本安全(根据Content-Type)(包括actuator端点如果类路径下存在actuator).
- 用于发布身份验证事件的
DefaultAuthenticationEventPublisher
. 您可以通过添加实例的方式来提供不同的AuthenticationEventPublisher
.