Используйте Arquillian для тестирования защищенного EJB

Я использую 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, но не нашел.

Большое спасибо за вашу помощь.

- Линь

11
задан Jens Piegsa 27 November 2013 в 17:59
поделиться