Spring Boot: WebFlux Security
Подобно приложениям Spring MVC, вы можете защитить свои приложения WebFlux, добавив зависимость spring-boot-starter-security. Конфигурация безопасности по умолчанию реализована в ReactiveSecurityAutoConfiguration и UserDetailsServiceAutoConfiguration. ReactiveSecurityAutoConfiguration импортирует WebFluxSecurityConfiguration для веб-безопасности, а UserDetailsServiceAutoConfiguration настраивает проверку подлинности (аутентификацию), что также актуально для не веб-приложений. Чтобы полностью отключить конфигурацию безопасности веб-приложения по умолчанию, вы можете добавить bean-компонент типа WebFilterChainProxy (это не отключает конфигурацию UserDetailsService или защиту Actuator).
Чтобы также отключить конфигурацию UserDetailsService, вы можете добавить компонент типа ReactiveUserDetailsService или ReactiveAuthenticationManager.
Правила доступа и использование нескольких компонентов Spring Security, таких как клиент OAuth 2 и сервер ресурсов (Resource Server), можно настроить, добавив пользовательский компонент SecurityWebFilterChain. Spring Boot предоставляет удобные методы, которые можно использовать для переопределения правил доступа для конечных точек привода и статических ресурсов. EndpointRequest можно использовать для создания ServerWebExchangeMatcher, который основан на свойстве management.endpoints.web.base-path.
PathRequest можно использовать для создания ServerWebExchangeMatcher для ресурсов в часто используемых местах.
Например, вы можете настроить конфигурацию безопасности, добавив что-то вроде:
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
return http
.authorizeExchange()
.matchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
.pathMatchers("/foo", "/bar")
.authenticated().and()
.formLogin().and()
.build();
}
Читайте также:
- Spring Boot: разработка веб-приложений
- Spring Boot: веб-приложения с Spring WebFlux Framework
- Spring Boot и Spring Security
Комментарии
Отправить комментарий