集成
Spring Security 与众多框架和API集成。本节将介绍Spring Security与其他技术的多种集成方式:
章节总结
📄️ 并发
在大多数环境中,安全信息是基于每个线程存储的。这意味着当在新线程上执行工作时,SecurityContext 会丢失。Spring Security 提供了一些基础设施来帮助简化这一管理过程。Spring Security 为在多线程环境中使用 Spring Security 提供了底层抽象。实际上,Spring Security 正是基于此来与 AsyncContext.start(Runnable) 以及 Spring MVC 异步集成进行整合的。
📄️ 本地化
如果你需要支持其他语言环境,本节包含了你需要了解的所有内容。
📄️ Servlet API
本节介绍 Spring Security 如何与 Servlet 2.5 规范集成。
📄️ Spring Data
Spring Security 提供了与 Spring Data 的集成,允许在查询中引用当前用户。这不仅非常有用,而且对于支持分页结果来说是必要的,因为事后过滤结果的方式无法扩展。
📄️ Spring MVC
Spring Security 提供了多个与 Spring MVC 的可选集成。本节将更详细地介绍这些集成。
📄️ WebSocket
Spring Security 4 新增了对 Spring WebSocket 安全性的支持。本节将介绍如何使用 Spring Security 的 WebSocket 支持功能。
📄️ Spring 的 CORS 支持
Spring Framework 为 CORS 提供了一流的支持。CORS 必须在 Spring Security 之前处理,因为预检请求不包含任何 cookie(例如 JSESSIONID)。如果请求不包含任何 cookie 且 Spring Security 先执行,该请求将被判定为用户未认证(因为请求中没有 cookie)并予以拒绝。
📄️ JSP 标签库
要使用任何标签,必须在JSP中声明安全标签库:
📄️ 可观测性
Spring Security 与 Spring Observability 开箱即用,支持追踪功能;同时配置以收集指标也相当简单。