У меня есть этот код для создания конфигурации java-клиента для подключения к серверу приложений JBoss:
System.setProperty( "java.security.auth.login.config", "auth.conf" );
LoginContext auth = new LoginContext( "myAuth",
new LoginCallbackHandler( username, password ) );
auth.login();
Файл auth.conf содержит следующие строки:
myAuth {
org.jboss.security.ClientLoginModule required;
};
Теперь где-то еще в коде (логинконтекст auth там не известен) у меня есть EJB, который выполняет initialContext.lookup( jndiName ) и narrow() для доступа к Bean на сервере приложений JBoss. Это narrow успешно только в том случае, если информация для входа на первом этапе была правильной.
Вопрос
Как информация для входа распространяется от LoginContext к narrow()? Я не вижу никакой связи между этими двумя местами.
И еще, как я мог сделать два или более разных логина внутри одного клиента?
