![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Domestic Cat |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
JAAS
1. Что такое JAAS? Java Authentication and Authorization Services. Этот сервис был интегрирован в Java 1.4. JAAS позволяет ограничить доступ к системным ресурсам. 2. В качестве примера рассмотрим доступ к ресурсу "os.name" 3. Код для авторизации выглядит следующим образом:
Отмечу несколько моментов. Во-первых, DialogCallbackHandler - это ГУИ хендлер на случай, если требуется аутентификация. Для модуля com.sun.security.auth.module.NTLoginModule этот хендлер вызываться не будет. Для com.sun.security.auth.module.Krb5LoginModule - будет. Во-вторых, Subject - это любой, кто пытается получить доступ к ресурсам. Каждый Subject содержит лист Principalов, которым и даются определеные права. Наконец, Subjectу сопоставлено PrivilegedAction, код которого приведен ниже
4. Кроме этого, требуется 2 файла. Первый из них называется jaas.conf и содержит информацию об используемых модулях аутентификации.
(Krb5LoginModule можно написать для интереса - чтоб посмотреть как выглядит диалог хендлер. Керберос все равно доступа не даст). Ве это означает, что для успешного выполнения действия нужно пройти две аутентификации - стандартную Виндовс НТ и Керберос. required - означает, что следующий модуль будет вызван независимо от того, успешна аутентификация или нет. 5. Полиси файл - jaas.policy.
Этот файл позволяет ограничить круг разрешенных действий для кода. Например, если нехороший человек заменит "os.name" в GetOsName на другое свойство, эму в этом дествии будет отказано. 6. Теперь компилим и пакуем все в архивы: javac *.java jar -cvf GetOsName.jar GetOsName.class jar -cvf JaasTest.jar JaasTest.class 7. Запускаем: C:\projects>java -cp GetOsName.jar;JaasTest.jar -Djava.security.manager -Djava.s ecurity.auth.login.config=jaas.conf -Djava.security.policy=jaas.policy JaasTest Login successful Your OS is Windows 2000 -------------------- |
||||||||
|
|||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |