我有一個@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' –