8.4.1. MVC安全

默认安全配置在SecurityAutoConfigurationUserDetailsServiceAutoConfiguration中实现。 SecurityAutoConfiguration导入SpringBootWebSecurityConfiguration用于 Web 安全并且UserDetailsServiceAutoConfiguration配置身份验证,这在非 Web 应用程序中也相关。

要完全关闭默认的 Web 应用程序安全配置或组合多个 Spring Security 组件(例如 OAuth2 客户端和资源服务器),请添加SecurityFilterChain 类型的 bean (这样做不会禁用UserDetailsService配置或执行器的安全性)。要同时关闭UserDetailsService配置,您可以添加类型为UserDetailsServiceAuthenticationProviderAuthenticationManager 的bean 。

UserDetailsService的自动配置还将取消类路径上的以下任何 Spring Security 模块:

  • spring-security-oauth2-client

  • spring-security-oauth2-resource-server

  • spring-security-saml2-service-provider

要在这些依赖项中的一个或多个之外使用 UserDetailsService,请定义您自己的 InMemoryUserDetailsManager bean。

可以通过添加自定义SecurityFilterChain bean 来覆盖访问规则。Spring Boot 提供了方便的方法,可用于覆盖执行器端点和静态资源的访问规则。 EndpointRequest可以用来创建一个基于management.endpoints.web.base-path属性的RequestMatcherPathRequest可用于在常用位置创建RequestMatcher资源。

最后更新于