내장 된 GlassFish 컨테이너로 JUnit-4 테스트를 시도하는 @RolesAllowed protected @Stateless EJB가 있습니다. 극복 한 가장 최근의 장애물은 지속성 단위 및 보안 영역에 대한 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);
임베디드 글래스 피쉬는 내 응용 프로그램 배포, 시작하고, 모든 것을 내가 @RolesAllowed 주석과 EJB 메소드를 호출 할 때까지 예상대로 작동하는 것 같다.
javax.ejb.AccessLocalException: Client not authorized for this invocation
보안 검사를 통과하기 위해 컨테이너 역할을 설정하는 방법을 알 수 없습니다. 내가 뭘 놓치고 있니?
'glassfish/modules/security.jar'의 ProgrammaticLogin 영역이 올바르게 구성되었는지 확인하십시오. 필요한 경우 유용한 로깅'javax.enterprise.system.core.security.level = FINE' –