2.5. 声明安全性和 JAAS
声明性安全性是通过利用容器管理安全性的方法将安全性问题与应用代码分开。容器根据文件权限或用户、组和角色提供授权系统。这种方法通常优于编程安全性,这使得应用本身都负责安全性。JBoss EAP 通过在 security 子系统中使用安全域来提供声明性安全性。
Java 身份验证与授权服务(JAAS)是一种声明性安全 API,由一组 Java 软件包组成,专为用户身份验证和授权设计。API 是标准可插拔验证模块(PAM)框架的 Java 实施。它扩展了 Jakarta EE 访问控制架构,以支持基于用户的授权。JBoss EAP security 子系统实际上基于 JAAS API。
由于 JAAS 是 security 子系统的基础,因此身份验证的执行方式是可插拔方式。这允许 Java 应用独立于底层身份验证技术,如 Kerberos 或 LDAP,并允许安全管理器在不同的安全基础架构中工作。不更改安全管理器实施,即可实现与安全基础架构的集成。仅需要更改 JAAS 使用的身份验证堆栈的配置。