我很感激有人可以帮助我解决以下问题:
答案 0 :(得分:21)
答案 1 :(得分:2)
也许我的回答可能不正确,可能不完整。但它可以在这个参考文献中找到 http://openejb.apache.org/3.0/security-annotations.html
DeclareRoles 只能在班级使用 通过isCallerInRole(roleName)引用角色时,需要更新@DeclareRoles。
基本理念
默认情况下,可以访问和记录业务接口的所有方法 是否
注释在bean类上进行,而不是业务接口
安全注释可以应用于整个班级和/或个人 方法
必须通过声明所使用的任何安全角色的名称 @DeclareRoles 强>
@RolesAllowed 可以在类级别和方法级别使用,以限制访问级别。
一个例子 混合类和方法级别限制 安全注释可以同时在类级别和方法级别使用。这些规则不会堆叠,因此标记'submitPatch'会覆盖默认的“committers”。
@Stateless
@DeclareRoles({"committer", "contributor"})
@RolesAllowed({"committer"})
public class OpenSourceProjectBean implements Project {
public String svnCommit(String s) {
return s;
}
public String svnCheckout(String s) {
return s;
}
@RolesAllowed({"contributor"})
public String submitPatch(String s) {
return s;
}
}
修改强>
以下是SQLLoginModule的代码段。您可以将此模块用作登录模块。这样,您就可以遵循JAAS标准。
在提交中,它会调用它来添加主体。
subject.getPrincipals().addAll(allPrincipals);
此外,您可以在此处查看更多详情http://openejb.apache.org/3.0/security.html。
列出了您可以选择的其他选项。