3.2. 使用虚拟安全域保护 Jakarta Enterprise Beans 应用程序
您可以使用 elytron-oidc-client 子系统创建的虚拟安全域来保护 Jakarta Enterprise Beans,当 Jakarta Enterprise Beans 都位于与调用它的 Servlet 的同一部署中时,以及它们位于不同部署中时。
如果 Jakarta Enterprise Beans 位于与 Servlet 调用的同一部署中,则不需要将安全身份从 Servlet 流传输到 Jakarta Enterprise Beans。
按照以下步骤将安全身份从 Servlet 流传输到位于不同部署的 Jakarta Enterprise Beans。
先决条件
- 您已保护了使用 OpenID Connect (OIDC)供应商调用 Jakarta Enterprise Beans 的应用程序。
- 您已创建了 Jakarta Enterprise Beans 来保护。
流程
创建一个
virtual-security-domain资源引用 WAR,其中包含通过 OIDC 保护的 Servlet 或包含使用 OIDC 保护的子部署的 EAR。语法
/subsystem=elytron/virtual-security-domain=<deployment_name>:add()
/subsystem=elytron/virtual-security-domain=<deployment_name>:add()Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
/subsystem=elytron/virtual-security-domain=simple-ear-example.ear:add()
/subsystem=elytron/virtual-security-domain=simple-ear-example.ear:add()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在引用虚拟安全域资源的 Jakarta Enterprise Beans 应用中添加
org.jboss.ejb3.annotation.SecurityDomain注解,以保护应用。语法
@SecurityDomain("<deployment_name>")@SecurityDomain("<deployment_name>")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您从带有 OIDC 的 Servlet 安全调用此 Jakarta Enterprise Beans,则
whoAmI ()返回的主体将与从 OIDC 供应商获取的 Servlet 的主体匹配。部署 Jakarta Enterprise Beans。
Example
mvn wildfly:deploy
$ mvn wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow