> For the complete documentation index, see [llms.txt](https://doc.shiker.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.shiker.tech/spring-boot-can-kao-wen-dang/8.-wang-luo/8.4.-spring-an-quan/8.4.1.-mvc-an-quan.md).

# 8.4.1. MVC安全

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

要完全关闭默认的 Web 应用程序安全配置或组合多个 Spring Security 组件（例如 OAuth2 客户端和资源服务器），请添加`SecurityFilterChain` 类型的 bean （这样做不会禁用`UserDetailsService`配置或执行器的安全性）。要同时关闭`UserDetailsService`配置，您可以添加类型为`UserDetailsService`、`AuthenticationProvider`或`AuthenticationManager` 的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`属性的`RequestMatcher`。 `PathRequest`可用于在常用位置创建`RequestMatcher`资源。
