Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss + JAAS / 7 сообщений из 7, страница 1 из 1
09.03.2007, 11:21:36
    #34379929
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
День добрый!
Помогите разобраться правильным применением JAAS на стороне клиента.

Использую JBoss 4.0.3
Есть GUI-клиент, на котором требуется провести Идентификацию пользователя.

Для своего EJB-компонента, в файле дескрипторе jboss.xml, указал <security-domain>java:/jaas/other</security-domain>.
Как я понимаю, этот домен контроля доступа будет использоваться на стороне сервера, при обращении к компоненту.

На стороне клиента имеется файл auth.conf в котором указан домен контроля доступа "other", а в нем используется логин-модуль ClientLoginModule, который только передает данные для идентификации(имя,пароль), но не проверяет их правильность. Их правильность проверится при обращении к компоненту.

Вопрос, как сделать так, чтоб провести идентификацию до обращения к EJB-компоненту?
...
Рейтинг: 0 / 0
09.03.2007, 12:53:36
    #34380230
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
помню делал не помню как ...
в main вызывается какая то херь из Jaasа ей даём callback с паролем/логином. Она получает тикеты успешного логина (принципалы чтоли) ну а потом сообщает их при каждом обращении. Я всё с мануалов дёрнул
...
Рейтинг: 0 / 0
09.03.2007, 13:18:20
    #34380334
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
Вот как работает на клиенте.

// используемый обработчик, которому передаются вводимые имя и пароль
org.jboss.security.auth.callback.UsernamePasswordHandler handler = new org.jboss.security.auth.callback.UsernamePasswordHandler(
_jUserTextField.getText(), _jPwdTextField.getText().toCharArray());

// создание логин-контекста на клиенте
try {


final javax.security.auth.login.LoginContext lc = new javax.security.auth.login.LoginContext(
"other", handler);
// логин в систему
lc.login();

} catch (LoginException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Если указать неправильный пароль, то вызов lc.login(); - не выдает никаких исключений.

а ошибка о идентификации будет при вызове "objHome.create();"

CommonHome objHome = (CommonHome) PortableRemoteObject.narrow(objref, CommonHome.class);

Common common = objHome.create();
/********************************************/

Как добиться того, чтобы при вызове lc.login(); проверялась правильность имени и пароля?
На стороне клиента написать свой Логин-модуль релизующий javax.security.auth.spi.LoginModule?
...
Рейтинг: 0 / 0
09.03.2007, 13:42:02
    #34380414
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
это "не баг, а фича" JAASа. При каждом обращении проверяется набор тикетов. Хотите чтоб сразу - дёргайте какой-нибудь бин - ловите исключение. Как вариант просмотреть содержимое получаемого lc и сравнить его в двух случаях.
...
Рейтинг: 0 / 0
09.03.2007, 16:18:28
    #34380964
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
А кто как реализует идентификацию пользователей?
...
Рейтинг: 0 / 0
09.03.2007, 17:16:46
    #34381134
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
exppпомню делал не помню как ...
в main вызывается какая то херь из Jaasа ей даём callback с паролем/логином. Она получает тикеты успешного логина (принципалы чтоли) ну а потом сообщает их при каждом обращении. Я всё с мануалов дёрнул


У тебя не остались исходники...Пожалст,может есть???
Очень выручишь.
...
Рейтинг: 0 / 0
14.05.2007, 17:49:18
    #34524229
Vinny Puhh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JAAS
Подскажите, плиз, про клиентский файл конфигурации LoginContext.... а то вот какая хрень:

Код: plaintext
1.
2.
3.
4.
5.
UsernamePasswordHandler handler =  new  UsernamePasswordHandler("username","123456".toCharArray());
System.out.println("handler created.");
LoginContext   lc =  new  LoginContext("personnelEJBRealm", handler); // вылетает ЗДЕСЬ!!!
System.out.println("LoginContext created.");
lc.login();

вылетает на указанной строчке и пишет:

Код: plaintext
java.lang.SecurityException: Unable to locate a login configuration

чего делать?
Заранее пасип всем ответившим!!!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss + JAAS / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]