@LeshaL

Пример работы метода Subject.doAs в JAAS?

Добрый день!


В JAAS есть класс Subject, у которого, помимо прочего, есть два статических метода doAs и doAsPrivileged. Со вторым всё более менее понятно, удалось написать работающий пример.

С первым же, который doAs — ничего не выходит.


Итак, ситуация. Есть секьюрные настройки приложения (установленные через -Djava.security.policy==), которые запрещают читать проперть, пусть «test.property». Есть принципал, пусть «Jon», которому такая пермиссия дана (через -Djava.security.auth.policy==). По описанию, вызов Subject.doAs(subjectJon, privilegedAction) при помощи DomainCombiner-а должен сделать новый ProtectionDomain из текущего и того, который у конкретного принципала. Но этого не происходит и выдается SecurityException (проперть читать нельзя). При использовании doAsPrivileged(subjectJon, privilegedAction, null) всё работает, причем пермиссии реально смешиваются, как положено.


Товарищи, кто в теме, напишите, плиз, маленький пример как работает метод doAs. Или опишите ситуации в которых он работает, возможно я его пытаюсь не по назначению применить.


PS: примеры найденные в инете и в книге Java Security — не работают, причем с точностью до замены doAs на doAsPrivileged.

— Спасибо,

Алексей
  • Вопрос задан
  • 2643 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы