Spring HandlerInterceptor или Spring Security для защиты ресурса - PullRequest
0 голосов
/ 05 апреля 2010

У меня есть базовая версия Spring Security 3, настроенная на моей собственной странице входа.Моя конфигурация ниже.У меня есть страница входа и регистрации, доступная для всех, а также для всего остального.Я новичок в Spring Security и понимаю, что если пользователь пытается получить доступ к защищенному ресурсу, он будет перенаправлен на определенную страницу входа.И после успешного входа они попадают на другую страницу, в моем случае, домой.Я хочу сохранить последнее поведение;Тем не менее, я хотел бы указать, что если пользователь пытается получить доступ к определенным ресурсам, они попадают на страницу регистрации, а не на страницу входа.В настоящее время в моих аннотированных контроллерах я проверяю контекст безопасности, чтобы видеть, вошел ли пользователь в систему, и если нет, я перенаправляю его на страницу регистрации.Я делаю это только в настоящее время с двумя URL-адресами и без других.Это казалось излишним, поэтому я попытался создать HandlerInterceptor для перенаправления этих запросов, но понял, что с аннотациями нельзя указывать конкретные запросы, которые нужно обрабатывать - все они есть.Поэтому мне интересно, есть ли какой-нибудь способ реализовать этот тип специфической обработки URL-адресов в Spring Security, или вариант с маршрутизацией HandlerInterceptor - мой единственный вариант?Спасибо!

<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/login*" access="permitAll"/> 
    <intercept-url pattern="/signup*" access="permitAll"/>
    <intercept-url pattern="/static/**" filters="none" />
    <intercept-url pattern="/" access="permitAll"/>
    <form-login login-page="/login" default-target-url="/home"/> 

    <logout logout-success-url="/home"/>

    <anonymous/>        
    <remember-me/>             
</http>

1 Ответ

0 голосов
/ 06 апреля 2010

Проверьте эту ссылку Добавление пользовательских фильтров - я предполагаю, что вам нужно будет расширить UsernamePasswordAuthenticationFilter с помощью вашей собственной версии, которая соответствует логике, изложенной выше, а не с помощью автоконфигурации и <form-login> элемент.

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