Я использую JBoss 6.1, и у меня есть безопасный EJB с методами, аннотированными @RolesAllowed ("Admin")
. Я пытаюсь протестировать этот метод с Arquillian.
Я успешно выполнил вход в EJB в @Before
теста, однако мне не удалось вызвать метод. Из журнала TRACE я вижу, что принципал и роли верны (в данном случае 'myuser'
и 'Admin'
), но информация о методе безопасного EJB неверна ( requiredRoles
пустые).
TRACE [org.jboss.security.plugins.authorization.JBossAuthorizationContext] Control flag for entry:org.jboss.security.authorization.config.AuthorizationModuleEntry{org.jboss.security.authorization.modules.DelegatingAuthorizationModule:{}REQUIRED}is:[REQUIRED]
TRACE [org.jboss.security.authorization.modules.ejb.EJBPolicyModuleDelegate] method=public au.com.domain.DTOObject au.com.ejb.SecureServiceBean.save(au.com.domain.DTOObject), interface=Local, requiredRoles=Roles()
TRACE [org.jboss.security.authorization.modules.ejb.EJBPolicyModuleDelegate] Exception:Insufficient method permissions, principal=myuser, ejbName=SecureServiceBean, method=save, interface=Local, requiredRoles=Roles(), principalRoles=Roles(Admin,)
Мне удалось успешно вызвать метод в том же EJB с @PermitAll
.
Я искал документацию Arquillian по защищенному EJB, но не нашел.
Большое спасибо за вашу помощь.
- Линь