8.4.2. WebFlux 安全
与 Spring MVC 应用程序类似,您可以通过添加spring-boot-starter-security
依赖项来保护您的 WebFlux 应用程序。默认安全配置在ReactiveSecurityAutoConfiguration
和UserDetailsServiceAutoConfiguration
中实现。 ReactiveSecurityAutoConfiguration
导入WebFluxSecurityConfiguration
用于 Web 安全以及UserDetailsServiceAutoConfiguration
配置身份验证,这在非 Web 应用程序中也相关。
要完全关闭默认的 Web 应用程序安全配置,您可以添加WebFilterChainProxy
类型的 bean (这样做不会禁用UserDetailsService
配置或 Actuator 的安全性)。要关闭UserDetailsService
配置,您可以添加类型为ReactiveUserDetailsService
或 ReactiveAuthenticationManager
的bean 。
当以下任何 Spring Security 模块位于类路径上时,自动配置也会停止:
spring-security-oauth2-client
spring-security-oauth2-resource-server
要在这些依赖项中的一个或多个依赖项之外使用 ReactiveUserDetailsService
,请定义您自己的 MapReactiveUserDetailsService
bean。
访问规则和多个 Spring Security 组件(例如 OAuth 2 客户端和资源服务器)的使用可以通过添加自定义SecurityWebFilterChain
bean 来配置。Spring Boot 提供了方便的方法,可用于覆盖执行器端点和静态资源的访问规则。 EndpointRequest
可以用来创建一个基于management.endpoints.web.base-path
属性的ServerWebExchangeMatcher
。
PathRequest
可用于在常用位置创建ServerWebExchangeMatcher
资源。
例如,您可以通过添加以下内容来自定义安全配置:
最后更新于