![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
VictorCV |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.4.2009 Репутация: нет Всего: нет |
Короче, ситуация такая - после того, как acegi аутенцифицирует пользователя, необходимо выполнить ещё дополнительную проверку на авторизацию. Эта проверка заключается в том, что мы посылаем запрос на веб-сервис и , в зависимости от ответа, допускаем его к ресурсу ил выбрасываем обратно на логин с соответствующей ошибкой. Как такое сотворить? с acegi раньше не связывался, пол дня сижу мозг ломаю =(
|
|||
|
||||
_sten_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
Попробуй в AccessDecisionManager добавить свой вотер который и будет делать нужную проверку:
в вотере нужно просто реализовать интерфейс AccessDecisionVoter:
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||
|
|||||
VictorCV |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.4.2009 Репутация: нет Всего: нет |
ок, спасибо, так можно сделать, но вотер не решает ещё двух проблем -
1 - проверка должна осуществляться только 1 раз сразу после логина пользователя, 2 - в случае отказа мы должны выдать пользователю сообщение об ошибке работы с сервисом, вотер же просто голосует да/нет В обоих случаях помогла бы просто передача параметров с страницы логина в вотер и обратно - это можно реализовать? |
|||
|
||||
MisterCleric |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Здравствуйте. Позвольте я тоже поучаствую.
Я, конечно, с acegi не работал, но последний проект сделал на spring-security Так вот у меня тоже была подобная задача: после аутентификации пользователя еще проверить есть ли у него право входа. Типа юзер-то активен, но у него отняли право входа. Еще такая ситуация, что аутентификация проходит через LDAP, а права хранятся у меня в базе. Я решил проблему кастомизацией AuthenticationProvider и того у меня вышло такое:
И того BasicProcessingFilter вызывает AuthenticationManager, который содержит мой AuthenticationProvider правда я задал мой кастомный и LDAP провайдер именно в такой последовательности, что мой вызывался первей. Ну такие вот неудобства -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "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. |