|
|
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
День добрый! Помогите разобраться правильным применением JAAS на стороне клиента. Использую JBoss 4.0.3 Есть GUI-клиент, на котором требуется провести Идентификацию пользователя. Для своего EJB-компонента, в файле дескрипторе jboss.xml, указал <security-domain>java:/jaas/other</security-domain>. Как я понимаю, этот домен контроля доступа будет использоваться на стороне сервера, при обращении к компоненту. На стороне клиента имеется файл auth.conf в котором указан домен контроля доступа "other", а в нем используется логин-модуль ClientLoginModule, который только передает данные для идентификации(имя,пароль), но не проверяет их правильность. Их правильность проверится при обращении к компоненту. Вопрос, как сделать так, чтоб провести идентификацию до обращения к EJB-компоненту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 11:21:36 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
помню делал не помню как ... в main вызывается какая то херь из Jaasа ей даём callback с паролем/логином. Она получает тикеты успешного логина (принципалы чтоли) ну а потом сообщает их при каждом обращении. Я всё с мануалов дёрнул ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 12:53:36 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
Вот как работает на клиенте. // используемый обработчик, которому передаются вводимые имя и пароль 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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 13:18:20 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
это "не баг, а фича" JAASа. При каждом обращении проверяется набор тикетов. Хотите чтоб сразу - дёргайте какой-нибудь бин - ловите исключение. Как вариант просмотреть содержимое получаемого lc и сравнить его в двух случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 13:42:02 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
А кто как реализует идентификацию пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 16:18:28 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
exppпомню делал не помню как ... в main вызывается какая то херь из Jaasа ей даём callback с паролем/логином. Она получает тикеты успешного логина (принципалы чтоли) ну а потом сообщает их при каждом обращении. Я всё с мануалов дёрнул У тебя не остались исходники...Пожалст,может есть??? Очень выручишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 17:16:46 |
|
||
|
JBoss + JAAS
|
|||
|---|---|---|---|
|
#18+
Подскажите, плиз, про клиентский файл конфигурации LoginContext.... а то вот какая хрень: Код: plaintext 1. 2. 3. 4. 5. вылетает на указанной строчке и пишет: Код: plaintext чего делать? Заранее пасип всем ответившим!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 17:49:18 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2145755]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
54ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 331ms |
| total: | 512ms |

| 0 / 0 |
