У меня есть базовая настройка Spring Security 3, использующая мою собственную страницу входа. Моя конфигурация ниже. У меня есть страница входа и регистрации, доступная для всех, а также большинство других. Я новичок в Spring Security и понимаю, что если пользователь пытается получить доступ к защищенному ресурсу, они будут переведены на определенную страницу входа в систему. И после успешного входа в систему они попадают на другую страницу, дома в моем случае. Я хочу сохранить последнее поведение; однако я хотел бы указать, что если пользователь пытается получить доступ к определенным ресурсам, они будут отправлены на страницу регистрации, а не на страницу входа в систему. В настоящее время в моих аннотированных контроллерах я проверяю контекст безопасности, чтобы узнать, вошел ли пользователь в систему, и если я не перенаправляю их на страницу регистрации. Я делаю это только с двумя URL-адресами и ни с кем другим. Это казалось излишним, поэтому я попытался создать HandlerInterceptor для перенаправления для этих запросов, но понял, что с аннотациями вы не можете указывать конкретные запросы, которые нужно обрабатывать - все они. Поэтому мне интересно, есть ли способ реализовать этот тип специфической обработки URL-адресов в Spring Security, или же маршрут HandlerInterceptor мой единственный вариант? Благодаря!Spring HandlerInterceptor или Spring Security для защиты ресурса
<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>
Почему бы не сделать то, что делают большинство сайтов, и иметь две формы на одной странице, один для входа в систему, если у вас уже есть учетная запись, а другая - для регистрации новой учетной записи? – Gandalf
@ Gandalf Спасибо за ответ. Фактически на странице регистрации есть ссылка на страницу входа и текст, направляющий пользователя там, если они уже зарегистрированы. Ваша идея сочетания двух не плохая, но мы хотели бы придерживаться того, что у нас есть сейчас. – richever