繁体   English   中英

WebLogic:无法在EJB3中获取用户角色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM