# 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`资源。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET 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?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
