Spring Security 3 с формой входа для одних URL и страницей ошибок для других - PullRequest
0 голосов
/ 22 марта 2011

Я использую Spring Security 3 для защиты доступа к веб-приложению Java на основе Spring.Механизм безопасности настраивается с помощью стандартного файла определения bean-компонента Spring Security с использованием схемы «security».По умолчанию пользователь может получить доступ к любому URL, а те, которые требуют входа, перечислены в элементе «http» файла конфигурации Spring.Система настроена таким образом, что пользователь, который не выполнил вход в систему, будет перенаправлен в форму входа в систему, прежде чем он сможет получить доступ к такому URL.

Проблема, с которой я столкнулся, заключается в том, что определенные URL-адреса в системе предназначены дляпрограммный доступ и возврат XML, а не HTML.Для таких URL мне нужно иметь возможность вернуть XML «пользователь не вошел в систему» ​​вместо принудительного перенаправления в форму входа.Как я могу перенастроить свой элемент «http» (и связанные с ним элементы в файле конфигурации), чтобы у меня был один набор контролируемых URL-адресов, который будет перенаправлять на форму входа в систему, когда пользователь не вошел в систему, и другой набор, который будет возвращатьошибка?

Ура, Адам.

1 Ответ

0 голосов
/ 19 апреля 2011

Возможно, вам поможет фильтр аутентификации.Внутри doFilter() метода Spring * AbstractAuthenticationProcessingFilter вы можете проверить, запрашивается ли XML-файл.Если да, вы прерываете цепочку и возвращаете XML-файл с ошибкой, если нет активного сеанса пользователя.Подробности смотрите здесь:

http://mark.koli.ch/2010/07/spring-3-and-spring-security-setting-your-own-custom-j-spring-security-check-filter-processes-url.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...