我有一个@RolesAllowed受保护的@Stateless EJB,我正尝试使用嵌入式GlassFish容器进行JUnit-4测试。我已经克服的最新障碍是用于持久性单元和安全领域的GlassFish域配置。如何使用嵌入式glassfish测试@RolesAllowed受保护的EJB3.1
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(EJBContainer.MODULES, new File("build/classes"));
properties.put("org.glassfish.ejb.embedded.glassfish.configuration.file",
"test-resource/domain.xml");
ec = javax.ejb.embeddable.EJBContainer.createEJBContainer(properties);
嵌入式GlassFish的开始,我的应用程序部署,一切似乎如预期,直到我打电话了@RolesAllowed注释的EJB方法工作。
javax.ejb.AccessLocalException: Client not authorized for this invocation
出于某种原因,我想不出如何设置容器的角色来通过安全检查。我错过了什么?
ProgramgyLogin in'glassfish/modules/security.jar' 确保领域配置正确。 如果需要,有助于日志记录javax.enterprise.system.core.security.level = FINE' –