Abbiamo un'applicazione Java EE 7 e usiamo Arquillian per testare le cose. Ora vogliamo verificare alcune autorizzazioni dell'utente attualmente connesso. La mia domanda è piuttosto elementare, come posso accedere a un utente all'interno di una testcase? Ho letto ProgrammaticLogin doesnt work in arquillian tests e Embedded Glassfish, security and Arquillian questions ma non hanno una risposta chiara. Il mio approccio attuale è qualcosa di simile:Come verificare login/autenticazione con 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();
}
}
Ora, quando provo a fare funzionare questo, un ottenere un LoginException affermando che non ho LoginModule configurato per "fileRealm". Ma "fileRealm" non è il regno che sto cercando (l'ho messo lì per testare la prima volta, ma poi l'ho cambiato in "secureJDBCRealm", che è il nostro Custom Security Realm per GlassFish). Per il test usiamo arquillian-glassfish-embedded-3.1
.
- Qualcuno sa dove definire il regno di Arquillian?
- Perché la mia applicazione continua a cercare fileRealm? È questo il valore predefinito? (non è stato possibile trovare alcuna specifica qui)
Grazie! Tuttavia, abbiamo finito per utilizzare un GlassFish remoto con il Realm corretto già preconfigurato. Il supporto remoto è arrivato non tanto tempo fa, quindi all'inizio non abbiamo visto questa possibilità. – bmurauer
Interfaccia CommanderRunner modificata e questo non funziona più: -/Glassfish 3.1.2.2 –