![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
garbuz |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Начал читать книгу по jaas. Вместе с книгой идут исходники всех проектов из книги, которые запросто импортируются в эклипс. Все примеры запускаются из ant скрипта, каждый target запускает соответствующий пример. Так вот, дошел до первого простейшего примера, все запустил, все работает. Затем решил выдрать этот примерчик в отдельный проект. Вот тут и возникли проблемы.
Вот сам код
Есть еще policy файл с пермишшенами
Запускаю из-под эклипса задав VM parameters, которые указаны в ant-скрипте.
Изменение файла policy ни к чему не приводит, хотя должно, я имею ввиду изменение "write" на "read", если такие изменения производить с файлом, который относится к проекту из книги, то там эти изменения действуют сразу. Такое чувство, что то-ли параметры не воспринимаются, то ли я где-то сильно затупил. Прошу помощи. |
||||||
|
|||||||
ivg |
|
||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
|
||||||
|
|||||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
ivg, спасибо большое! Все получилось! Тему не закрываю, боюсь, что еще будет не один вопрос
![]() |
|||
|
||||
garbuz |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Неспешно добрался до второго примера и тут тоже возникли непонятки. Так же как и раньше (см. выше) вынес приложение из общего в отдельное. Приложение уже больше похоже на приложение, тут используюстся LoginModule, CallbackHandler, Principals. Вот небольшое описание
Итак, что у нас есть. Main
наш CallbackHandler
SimpleLoginModule
Ну и два класса Principals, которые особой важности пока не имеют. Помимо этих классов существуеют так же два файла: 1) policy файл с правами доступа
2) Проперти файл для LoginContext
Короче как ни пытался запустить - ничего не вышло, кидает
Если запускать не из отдельно проекта, а из общего из книги через ant, то все равно такая же картина :( Возможно опять где-то что-то не усмотрел. Заранее спасибо! |
||||||||||||||
|
|||||||||||||||
ivg |
|
||||||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
1. Если содержимое policy файла, которое вы привели находится в файле C:/java/chapter2/chp02.policy, тогда аргументы для запуска JVM
2. Исправьте 12-ю строку policy файла на
3. Содержимое , у меня находится в файле ${user.home}/.java.login.config Это сообщение отредактировал(а) ivg - 12.1.2009, 21:35 |
||||||||||
|
|||||||||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Совсем забыл указать параметры запуска, вот они!
ivg, спасибо за помощь, сейчас буду разбираться ![]() |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
||||
|
||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Поправил на
тот же эксепшн ![]() |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
|
|||
|
||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
ivg, приедешь в Питер, с меня ящик пива! Спасибо большое!!!
![]() |
|||
|
||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Пока не взялся за следующую главу книги, хочу выяснить некоторые вещи:
1) Если будет веб приложение, которое крутится на томкате, что лучше юзать для аутен\авторизац в приложении, встроенные стредства томката или jaas? 2) Насколько хороши встроенные стредства томката? Позволяет ли томкат использовать для авторизации бд, или же только свой tomcat-users.xml 3) В томкате аутен\авторизац только через ssl или же нет? 4) Короче в голове пока какая-то каша, может кто попробует разложить по полочкам? ![]() |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
||||
|
||||
garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Пока еще по ссылке не прочитал.
Хочу спросить еще Realm это совершенно отдельная часть от jaas? Если да, то в какую сторону лучше копать? Какие у кого преимущества? |
|||
|
||||
garbuz |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Вот опять немного свободно времени выдалось, сел ковырять jaas дальше.
Есть вопросы по LoginModule, в частности по методу commit() По имени пользователя создается credential - объект
Затем этот объект добавляется в объект subject к общим credentials.
Креденшинал объект, насколько я понял, это объект, содержащий идентифицирующие пользователя данные, например логин и пароль, ну или одно из них. Верно? или я ошибаюсь? Вопрос: для чего они нам дальше могут потребоваться? Дальше в этом методе получают объекты типа Principal, например такой
Потом набор этих principals добавляется в объект subject.
В чем смысл этих principals. Для чего они надо? В чем отличие от Credential? Короче в голове вообще какая-то каша! В доках томката в описании JAASRealm написано
так вот. Например у меня в базе три вида ролей, как я понимаю надо создать три разных principal - объекта , хотя это зачем непонятно. Различаться они будут только типом (классом) и значением поля name. А вот с principals для user вообще непонятно. Создавать такой же объект как и для роли, только название класса изменить на UserPrincipal? Что-то я вообще не догоняю. После всего этого как я понимаю, мне надо будет запустить томкат и в параметрах запуска указать конфиг файл, где указываю к какому приложению какой loginModule применять, верно? |
||||||||||
|
|||||||||||
garbuz |
|
||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Итак, опять я взялся ковырять jaas. Дописал для томката модуль аутентификации, опираясь на пример из книги, хотя книгу до конца еще не просмотрел. Вот что из этого вышло.
В конфигах томката
Аутентификация проходит нормально, все вроде бы работает. Однако у меня остались все те же вопросы. 1) Как мне использовать созданные Principals? 2) Надо ли их вообще использовать? 3) Как ограничивать какой-либо доступ куда-либо? Это делается с помощью описания policy файла как я понимаю? 4) Зачем это делать через policy, если это действеительно надо, если у меня все прописано в web.xml
5) Для чего нам нужет объек UsernameCredential? Как в дальнейшем и для чего его можно использовать? 6) Еще вопрос по поводу Prinsipals. Если например у меня несколько возможных ролей. Для каждой роли надо описывать соответствеющий Principal-класс и потом в policy для каждого principals описывать права доступа? Или же тут можно обойтись одним классом, и работать с полем name? Как в этом случае быть не с ролями, а с юзерами? 7) Был ли у кого-нибудь реальный опыт работы с jaas? Может кто ответит на мои вопросы ![]() 8) Может кто приведет свой реальный пример использования jaas? Заранее спасибо! |
||||||||||||||||
|
|||||||||||||||||
![]() ![]() ![]() |
Правила форума "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. |