Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Jboss Jaas] Скажите как это сделать по уму 
:(
    Опции темы
AngerOgAnAngel
Дата 3.3.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.3.2006

Репутация: нет
Всего: нет



Проблемы возникают с кэшем, не возможно разлогиниться, скажите, как кто обходил эту проблему?
Говорят в новых версиях добавили к security-domain аттрибут flushOnSessionInvalidation, но на практике invalidation не помогает, кэш не сбрасывается.

Не понятно , может стоит написать свой SecurityManager или LoginManager. Но возникают ощущения, что кэш с ними будет работать также. Или все таки вызов logout на LoginContex поможет? Перебирая все возможные варианты, прихожу к выводу что можно мучиться очень долго, и еще нужно оценить как это отразится на Security. Может кто уже все это реализовывал? Скажите как вы все делали? Неужели такую распространенную функциональность как logout невозможно реализовать с помощью Jboss?
PM MAIL   Вверх
tux
Дата 4.3.2006, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



У меня та же самая проблема, пока никак не решается. LoginContext.logout() судя по документации должен работать, только где его взять если auth-method=BASIC.

В общем есть такое решение - попытаться вызвать flush у кэша вручную. Сразу скажу, что у меня такой метод не работает, может быть сработает у тебя. Значится так. Освобождает всех принципалом у текущего сабджекта и затем у JaasSecurityManager вызываем метод flushAuthenticationCache:
Код

InitialContext ctx = new InitialContext();
RMIAdaptor jbossServer = (RMIAdaptor) ctx.lookup("jmx/invoker/RMIAdaptor");
ObjectName jaasMgr = new ObjectName("jboss.security:service=JaasSecurityManager");
Object[] params = { domain, principal };
String[] signature = { "java.lang.String", "java.security.Principal" };
jbossServer.invoke(jaasMgr, "flushAuthenticationCache", params, signature);

Здесь domain - название домена безопасности, principal понятно кто такой. Есть еще тот же метод с одним параметром - именем домена, можно попробовать и его.

Если удастся решить проблему, напиши. Если у меня что-то получится, тоже кину сюда рецепт.
PM MAIL Skype GTalk Jabber YIM   Вверх
AngerOgAnAngel
Дата 4.3.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.3.2006

Репутация: нет
Всего: нет



Код

InitialContext ctx = new InitialContext();
RMIAdaptor jbossServer = (RMIAdaptor) ctx.lookup("jmx/invoker/RMIAdaptor");
ObjectName jaasMgr = new ObjectName("jboss.security:service=JaasSecurityManager");
Object[] params = { domain, principal };
String[] signature = { "java.lang.String", "java.security.Principal" };
jbossServer.invoke(jaasMgr, "flushAuthenticationCache", params, signature);

Делал такое уже, не помогает.
Не помогает даже такое:
Код

String domain = "java:/jaas/myDbLogin";
Principal user = request.getUserPrincipal();
ObjectName jaasMgr = new ObjectName("jboss.security:service=JaasSecurityManager");
Object[] params = {domain};
String[] signature = {"java.lang.String"};
MBeanServer server = (MBeanServer)MBeanServerFactory.findMBeanServer(null).get(0);
server.invoke(jaasMgr, "flushAuthenticationCache", params, signature);    


Вообще легче всего это вызывать прямо через консоль. У меня версия 4.0.3sp1, а у тебя какая?
PM MAIL   Вверх
tux
Дата 4.3.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Версия 4.0.1, в понедельник попробуем на старых.
PM MAIL Skype GTalk Jabber YIM   Вверх
sandello
Дата 21.5.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Решили проблему?


--------------------
user posted image
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.