4.3. 配置可信安全域流


对于任何安全调用,都为安全域建立了安全身份。在处理调用时,Sec ureIdentity 与当前的线程关联。对于同一安全域中 getCurrentSecurityIdentity() 的后续调用,将返回关联的身份。

在应用服务器中,可以有多个 SecurityDomain 实例用于单个调用或线程。每个 SecurityDomain 实例都可以与不同的 SecurityIdentity 关联。当您调用该安全域的 getCurrentSecurityIdentity() 方法时,将返回正确的安全身份。部署可以在请求处理期间调用其他部署。每一部署与单个安全域关联。如果调用的部署使用相同的安全域,则当前安全身份的单一安全域的概念仍然存在。但是,每一部署都可以引用自己的安全域。

可以将与安全域关联的安全身份导入到另一个安全域,如下一节所述。

导入安全身份

要从安全域导入安全身份到另一个安全域,以获取此域的安全身份,有三种处理流程:

相同的安全域
安全域始终可以导入自己的安全身份。在这种情况下,安全域始终信任自身。
Common Security Realm
在导入过程中,安全域从所导入的安全身份中提取主体,通过其配置的主体转换器和域映射器传递,并将其映射到该安全域中的身份。如果在创建身份的安全域中使用相同的安全域,则它们都使用相同的底层身份支持,并且导入也被接受。
可信安全域
如果身份映射成功,但没有通用的安全域,则将测试处理导入的安全域,以查看它是否信任原始的安全域。如果这样做,则接受导入。
注意

该身份必须存在于处理导入的安全域中。安全身份绝对不会被完全信任。

安全域可以配置为自动将其安全身份输出到其他安全域。

在安全域中,如果建立安全身份并用于当前调用,则会迭代溢出安全域列表,并且为每个域导入安全身份。

此模型更适合使用不同安全域对部署的多次调用,例如,当 Web 应用使用通用安全域调用五个不同的 EJB 时。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.