28. 安全
如果Spring Security在类路径上,那么web应用默认是安全的。Spring Boot依靠Spring Security的内容协商策略,决定是使用httpBasic,还是formLogin。为了给web应用添加方法级别(method-level)的保护,你可以添加@EnableGlobalMethodSecurity
并使用想要的设置。其它信息参考Spring Security参考指南。
默认的AuthenticationManager
只有一个用户。用户名是user,密码随机,会在应用启动时以INFO日志级别打印出来。如下:
注 如果你对日志配置进行微调,确保org.springframework.boot.autoconfigure.security
类别记录日志级别为INFO
,否则默认的密码不会打印出来。
你可以通过提供spring.security.user.name
和spring.security.user.password
,改变用户名和密码。
在web应用中,你默认能得到如下的基本特性:
一个
UserDetailsService
(如果是WebFlux应用的话,则是ReactiveUserDetailsService
)bean,存储在内存中。还有一个用户,用户的密码是生成的(关于这个用户的属性,请查看SecurityProperties.User
)。应用在整个应用上的基于表单的登录或是HTTP Basic security(取决于Content-Type)。如果执行器在类路径上,则包含执行器端点。
一个
DefaultAuthenticationEventPublisher
,用来发布认证事件。
你可以通过添加一个bean,为它提供一个不同的AuthenticationEventPublisher
。
最后更新于