[英]WebLogic: can't get roles for user in EJB3
在我的EJB 3中,我尝试测试主体的角色,但它总是返回false
。
在我的WebLogic 11g控制台中,我在“MyDomain” - >“Security Realms” - >“myrealm” - >“Users and Groups”下定义了3个用户(user1,user2和user3)和2个组(role1和role2); role1具有user1和user3,role2具有user2和user3。
我的EJB没有定义进一步的安全性(没有@RolesAllowed
等,或DD中的条目)。
当我在EJB中测试sessionContext.isCallerInRole(role);
是否存在角色时sessionContext.isCallerInRole(role);
它总是返回false
。 如果我调用sessionContext.getCallerPrincipal().getName();
我确实得到了正确的用户ID。
我究竟做错了什么?
如果注入了sessionContext
则在@Resource
注释中将身份验证类型指定为容器对我@Resource
。 例如:
@Resource(authenticationType=AuthenticationType.CONTAINER)
private SessionContext sessionCtx;
你是否使用@DeclareRoles或? 如果我正确阅读规范,第17.2.5.3节似乎要求你必须声明通过一种或另一种机制调用isCallerInRole()时使用的任何角色名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.