Как делает java LoginContext.login () работа?

У меня есть этот код для создания конфигурации клиента 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;
};

Теперь, где-то в другом месте в коде (LoginContext auth не известен там), у меня есть EJB, который делает a initialContext.lookup( jndiName ) и a narrow() получить доступ к Бобу на сервере приложений JBoss. Это narrow только успешно выполняется, если данные для входа первого шага были корректны.

Вопрос

Как данные для входа распространяют от LoginContext к narrow()? Я не вижу соединения между этими двумя местами.

И далее, как я мог сделать два или больше различных логина в одном клиенте?

6
задан tangens 3 May 2010 в 13:15
поделиться

1 ответ

Я нашел хорошее объяснение в документации JBoss (глава 8.4.1) :

jboss jaas login

login () Вызов связывает имя и пароль только с уровнем JBoss EJB клиента. Все последующие вызовы EJB будут использовать эти учетные данные и передавать их вызываемому методу EJB.

6
ответ дан 17 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: