Spring WebSecurityCustomizer 是 Spring Security 框架中用来 自定义 Web 安全配置 的一个接口。 它的主要作用是在开发中我们能够 精细的控制哪些请求会被 Spring Security 完全忽略,不进行任何安全检查和过滤。
我们可以把它想象成是 Spring Security 大门上的一个 “后门” 或者 “快速通道”。
-
Spring Security 的大门: 默认情况下,应用启用了 Spring Security,所有的 HTTP 请求都会经过 Spring Security 的重重安全检查 (例如:身份认证、权限校验、CSRF 防护等等)。 这就像你家的大门,任何访客都要经过你的检查才能进入。
-
WebSecurityCustomizer的 “后门” / “快速通道”:WebSecurityCustomizer允许你配置一些特定的 URL 路径,这些路径就像是 “后门” 或 “快速通道”,请求可以直接绕过 Spring Security 的所有安全检查,直接进入你的应用内部。 这就好比你设置了某些人可以直接从后门进入你家,无需经过大门的检查。
WebSecurityCustomizer 主要用于配置以下场景:
-
静态资源放行 (Static Resources): 例如 CSS 文件、JavaScript 文件、图片、字体文件等等。 这些静态资源通常是公开访问的,不需要进行身份验证或权限控制。 通过
WebSecurityCustomizer可以配置忽略对这些静态资源的拦截,提升性能,避免不必要的安全处理。- 例如:
/css/**,/js/**,/images/**这些路径下的所有请求都直接放行,不经过 Spring Security 的检查。
- 例如:
-
公开 API 或端点 (Public APIs/Endpoints): 有些 API 接口或端点是设计为公开访问的,例如网站的首页、登录页面、注册页面、或者一些无需授权即可访问的公共数据接口。
WebSecurityCustomizer可以用来配置忽略对这些公开 API 的安全检查。- 例如:
/public-api/**,/login,/register这些路径下的请求被忽略。
- 例如:
-
健康检查端点 (Health Check Endpoints): 在微服务架构中,健康检

最低0.47元/天 解锁文章
1199

被折叠的 条评论
为什么被折叠?



