Я использую JBoss 6.1, и у меня есть безопасный EJB, имеющий методы, аннотированные с помощью @RolesAllowed("Admin")
. Я пытаюсь проверить этот метод с Аркиллиан.
Я успешно выполнил журнал 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, но не смог найти.
Большое спасибо за вашу помощь.
- Linh