![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Есть у меня авторизация на сайте, я хочу давать пользователям возможность менять имя и эл.ящик
Но есть проблемка - remember me service, который парсит куки пользователя на наличие зарегенного пользователя. Идентификатором как раз является имя пользователя. Т.е. мне по сути надо просто бросить пользователю новую куку. Нашел метод с помощью которого это можно сделать - в моем случае это TokenBasedRememberMeServices.onLoginSuccess() Вопрос такой - как мне получить инстанс этого класса? Вообще-то он хранится в фильтре RememberMeAuthenticationFilter, поле rememberMeServices. Но к фильтру я тоже не знаю как обратиться, статических методов там нет. Очень не хочется писать свой фильтр или сервис только из-за этого. По сути мне надо обратиться к созданному объекту, который хранится где-то в дебрях спринга. Как можно это сделать? |
|||
|
||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
Все spring-контексты загружаются в web.xml по средством:
-------------------- |
|||
|
||||
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
А как обратиться к описанному contextConfigLocation ?
По идее я должен где-то статический метод вызвать, но у какого класса? Это сообщение отредактировал(а) iluvatar - 28.8.2010, 18:16 |
|||
|
||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
1. Тебе самому нужно создать бин remember-me-service.
2. Создать ты его должен в applicationContext-security.xml который подсоединяется через конфиг параметры, иже указаны выше. 3. Ты все конфиги можешь там прописать и ссылаться на бины друг друга. Вот пример spring security 2.x:
-------------------- |
|||
|
||||
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Мы друг друга не понимаем.
у меня все прекрасно работает, конфиг есть, но только переписывать rememberMeService мне не надо, мне стандартного хватает за глаза. мне нужно в конкретном месте вызвать конкретный метод проинициализированного спрингом класса. т.е. в фильтре RememberMeAuthenticationFilter в методе doFilter доступно поле rememberMeServices. Этот объект был создан спрингом. Мне нужно получить этот объект в произвольном месте моей программы, не только в фильтре. Вопрос - где хранятся объекты созданные спрингом и как к ним обращаться из произвольного класса. Это же инстансы, они должны где-то храниться. Если еще проще - как в каком-нить экшене получить rememberMeService, описанный в applicationContext? |
|||
|
||||
| Старовъръ |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
-------------------- |
||||||||
|
|||||||||
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Я вообще не об этом. Я не показывал свой конфиг, но поверь там у меня все прекрасно, конфиг у меня рабочий. Речь вообще не о конфиге. И даже не о security.
Еще проще опишу свою проблему. Я описываю два бина (любых), первый содержит второй в одном из своих полей. Второй соответственно доступен из первого, а мне надо его получить в произвольном месте моего класса, которые создается не через спринг. Как мне получить мой вложенный бин в struts-экшене например? |
|||
|
||||
| wedens |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.10.2009 Репутация: нет Всего: нет |
а в чем проблема собственно стратс экшн добавить в спринг и подключить внешний бин через Autowired и через getter вынуть внутренний, не? Это сообщение отредактировал(а) wedens - 29.8.2010, 12:57 |
|||
|
||||
| iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
алиллуйя!!!
небеса разверзлись и ниспослали мне решение!!! Спасибо, сегодня буду пробовать |
|||
|
||||
![]()
|
| Правила форума "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. |