Wie funktioniert java LoginContext.login() arbeiten?
Habe ich diesen code zum erstellen einer Konfiguration von einem java-client eine Verbindung zu einem JBoss application server:
System.setProperty( "java.security.auth.login.config", "auth.conf" );
LoginContext auth = new LoginContext( "myAuth",
new LoginCallbackHandler( username, password ) );
auth.login();
Die Datei auth.conf
enthält die folgenden Zeilen:
myAuth {
org.jboss.security.ClientLoginModule required;
};
Nun, irgendwo in den code (der LoginContext auth
ist nicht bekannt, es) ich habe eine EJB, die einen initialContext.lookup( jndiName )
und ein narrow()
Zugriff auf eine Bean, die auf dem JBoss application server. Diese narrow
gelingt nur, wenn die login-Daten der erste Schritt war richtig.
Frage
Wie funktioniert der login-Informationen, die sich von der LoginContext
zu den narrow()
? Ich sehe keine Verbindung zwischen diesen beiden Orten.
Und weiter, wie konnte ich nur tun, zwei oder mehr verschiedene logins innerhalb eines client?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich eine schöne Erklärung in der JBoss-Dokumentation (Kapitel 8.4.1):
Den
login()
rufen Sie bindet nur den Namen und das Kennwort auf dem JBoss-EJB-Schicht der client. Alle nachfolgenden EJB-Aufrufe verwenden diese Anmeldeinformationen, und geben Sie Sie in den sogenannten EJB-Methode.