Java EE 7 애플리케이션이 있으며 Arquillian을 사용하여 테스트합니다. 이제 우리는 현재 로그인 한 사용자의 권한을 확인하려고합니다. 내 질문은 아주 기본적인 것이다. 어떻게하면 테스트 케이스 안에있을 때 사용자를 로그인 할 수 있을까? ProgrammaticLogin doesnt work in arquillian tests 및 Embedded Glassfish, security and Arquillian questions을 읽었지만 명확하게 답변되지 않았습니다. 내가 이것을 실행하려고하면 Arquillian으로 로그인/인증을 테스트하는 방법 - Java EE 7
// Inject services etc.
@Test
public void testLogin(){
UserAccount user = new UserAccount();
user.setUsername("bob");
user.setPassword("bob");
userAccountService.save(user);
ProgrammaticLogin pl = new ProgrammaticLogin();
String realmName = "secureJDBCRealm";
try {
pl.login("bob", "bob".toCharArray(), realmName, true);
} catch (Exception e){
e.printStackTrace();
}
}
지금, A는 LoginException이 내가 "fileRealm"에 대해 구성된 로그인 모듈이 없다고 주장 얻을 : 내 현재의 접근 방식은 다음과 같이한다. 그러나 "fileRealm"은 내가 검색하고있는 영역이 아닙니다 (처음 테스트 할 때 넣었지만 GlassFish에 대한 사용자 정의 보안 영역 인 "secureJDBCRealm"으로 변경했습니다). 테스트에는
arquillian-glassfish-embedded-3.1
을 사용합니다.
- 누가 Arkillian의 영역을 정의해야 할 곳을 알고 있습니까?
- 내 응용 프로그램이 fileRealm을 계속 찾고있는 이유는 무엇입니까? 이 값이 기본값입니까? (여기서 사양을 찾을 수 없음)
감사로 로그인 할 수 : 다행히 Arquillian 포함 된 컨테이너는 다음 작업을 수행 할 수 있음을 의미 JNDI를 통해이 가능하게! 그러나 이미 사전 구성된 올바른 영역으로 원격 GlassFish를 사용하게되었습니다. 원격 지원은 오래전에 나온 것이 아니기 때문에 처음에는이 가능성을 보지 못했습니다. – bmurauer
CommanderRunner 인터페이스가 변경되었으며 더 이상 작동하지 않습니다. -/Glassfish 3.1.2.2 –