Spring Security 的 Servlet 支持包含在`FilterChainProxy`中。`FilterChainProxy`是 Spring Security 提供的一种特殊的`Filter`,它允许通过[`证券过滤链`](# Servlet-SecurityFilterchain)将许多`Filter`实例委托给多个实例。由于`FilterChainProxy`是 Bean,因此它通常被包装在[委托过滤代理](#servlet-delegatingfilterproxy)中。
在`SecurityContextHolder`中, Spring 安全性存储了谁是[已认证](../../features/authentication/index.html#authentication)的详细信息。 Spring 安全性并不关心`SecurityContextHolder`是如何填充的。如果它包含一个值,那么它将被用作当前经过身份验证的用户。
...
...
@@ -126,17 +126,17 @@ val authorities = authentication.authorities
让我们来看看`DaoAuthenticationProvider`在 Spring 安全性中是如何工作的。该图详细说明了[读取用户名和密码](index.html#servlet-authentication-unpwd-input)图中的[`AuthenticationManager`](../architecture.html# Servlet-authentication-authenticationmanager)是如何工作的。
@@ -245,7 +245,7 @@ Spring 安全性提供的最常用的`AccessDecisionVoter`是简单的`RoleVoter
显然,你还可以实现一个自定义`AccessDecisionVoter`,并且你可以在其中放入你想要的任何访问控制逻辑。它可能是特定于你的应用程序的(与业务逻辑相关的),或者它可能实现一些安全管理逻辑。例如,你将在 Spring 网站上找到一个[博客文章](https://spring.io/blog/2009/01/03/spring-security-customization-part-2-adjusting-secured-session-in-real-time),该网站描述了如何使用投票器实时拒绝帐户已被暂停的用户的访问。