安全架构 25.10
webforJ安全系统建立在接口和设计模式的基础上,能够灵活、可扩展地保护路线。本节解释了基础安全框架的功能,以及如何通过实现这些接口构建自定义安全解决方案。
与Spring集成
大多数应用程序应使用Spring Security集成,因为它会为您自动配置所有内容。仅当您有特定要求或不使用Spring Boot时,才实现自定义安全。Spring集成建立在相同的基础架构上。
您将了解到核心接口、评估器链模式、导航是如何被拦截和评估的,以及存储身份验证状态的不同方法。
关注架构和扩展点
这些指南解释了基础架构和扩展点、您实现的接口以及它们如何协同工作。代码示例展示了一种可能的方法,而不是规定要求。您的实现可以根据需要使用不同的存储机制(JWT、数据库、LDAP)、不同的连线模式或不同的身份验证流程。
您将学习什么
- 基础架构:定义安全行为的核心接口及其协同工作方式
- 导航拦截:安全系统如何拦截导航请求并评估访问规则
- 评估器链模式:安全规则如何使用责任链模式按优先级顺序进行评估
- 身份验证存储:存储用户身份验证状态的不同方法(会话、JWT、数据库等)
- 完整实现:一个展示所有组件如何连线在一起的工作示例
适合谁
这些指南适用于想要:
- 为非Spring应用程序构建自定义安全实现的开发人员
- 理解基础架构以排查问题
- 实现自定义身份验证流程或授权逻辑
- 创建具有特定领域逻辑的安全评估器
- 与现有身份验证系统(LDAP、OAuth、自定义后端)集成
先决条件
在深入这些指南之前,您应该:
主题
📄️ Foundational Architecture
webforJ安全系统建立在核心接口的基础上,这些接口协同工作以提供基于路由的访问控制。这些接口定义了安全行为的契约,允许不同的实现,无论是基于会话的、基于JSON Web令牌(JWT)、集成LDAP还是基于 数据库的,都能接入相同的基础框架。
📄️ Navigation Flow
在 webforJ 中,安全性执行在导航期间会自动发生。当用户点击链接或导航到某个路由时,安全系统会拦截导航,评估访问规则,并允许导航继续或将用户重定向到适当的页面。这一拦截对用户是不可见的,并且在您的组件代码中不需要手动的安全检查。
📄️ Evaluator Chain
评估链是webforJ安全系统的核心。它是一个优先级顺序的评估器序列,负责检查路由并使用责任链设计模式做出访问决策。理解链的工作原理有助于您创建自定义评估器并排查意外的访问拒绝问题。
📄️ Custom Implementation Example
本指南讲解如何构建一个完整的自定义安全实现,使用基于会话的身份验证。您将学习四个核心接口如何通过从头开始实现它们相互协作。