安全性 25.10
公开预览
此功能处于公开预览中,已准备好用于生产环境。在预览期间,API 可能会根据开发者社区的反馈进行调整。任何更改将在发布说明中提前公告,并在必要时提供迁移指南。
在现代 Web 应用程序中,安全性 指的是根据用户身份和权限控制对应用程序不同部分的访问。在 webforJ 中,安全性提供了一个 路由级访 问控制 的框架,您可以保护视图、要求身份验证,并实施基于角色的权限。
传统路由与安全路由
在传统的无安全路由中,应用程序中的所有路由都对任何知道 URL 的人开放。这意味着用户可以在没有任何身份验证或授权检查的情况下导航到敏感页面,如管理面板或用户仪表板。开发者的负担是必须在每个组件中手动验证权限,从而导致安全执行的不一致和潜在的漏洞。
这种方法带来了几个问题:
- 手动检查:开发者必须记住在每个受保护的视图或布局中添加安全逻辑。
- 一致性执行:分散在代码库中的安全检查导致漏洞和错误。
- 维护开销:更改访问规则需要更新多个文件。
- 没有集中控制:没有单一的地方来理解或管理应用程序安全性。
webforJ 中的 安全路由 通过直接在路由级别启用访问控制来解决这个问题。安全系统在任何组件呈现之前自动执行规则,提供一种集中、声明式的应用程序安全方法。它的工作方式如下:
- 声明式注释:使用安全注释标记路由以定义访问要求。
- 自动执行:安全系统在渲染任何视图之前检查权限。
- 集中配置:在一个地方定义安全行为,并一致地应用它。
- 灵活实现:选择 Spring Security 集成或自定义的普通 Java 实现。
这种设计实现了 身份验证(验证用户身份)和