6.3.2. 使用 EJB 安全注解
您可以使用 XML 描述符或注释来控制哪些安全角色可以在 EJB 中调用方法。有关使用 XML 描述符的详情,请参考使用 EJB 方法权限。
部署描述符中指定的任何方法值都会覆盖注释值。如果在部署描述符中未指定方法值,则使用使用注解设置的值。覆盖粒度以每个方法为基础。
控制企业 JavaBeans 安全性权限的注解
- @DeclareRoles
-
使用
@DeclareRoles
定义要针对哪个安全角色检查权限。如果没有@DeclareRoles
,则从@RolesAllowed
注释自动构建列表。有关配置角色的详情,请查看 Java EE 教程,它通过分隔安全角色来指定授权用户。 - @RolesAllowed, @PermitAll, @DenyAll
-
使用
@RolesAllowed
列出哪些角色可以访问某一方法或方法。使用@PermitAll
或@DenyAll
允许或拒绝所有角色使用方法或方法。有关配置注解方法权限的详情,请参考 Java EE 教程,它们通过分隔安全角色来指定授权用户。 - @RunAs
-
使用
@RunAs
指定方法在从注释方法发出调用时使用的角色。有关使用注解配置传播的安全身份的信息,请参阅 Java EE 教程传播安全身份(Run-As)。
示例:安全注解示例
在此代码中,所有角色都可以访问方法 WelcomeEveryone
。GoodBye
方法在发出调用 时使用 temp
employee 角色。只有 admin
角色可以访问方法 GoodbyeAdmin
,以及任何其他没有安全注释的方法。