В простейшей форме я хочу перехватчик, который проверяет данные сеанса, чтобы увидеть, вошел ли пользователь в систему, и, если нет, перенаправляет их на страницу входа. Очевидно, я бы не хотел, чтобы этот перехватчик использовался, например, на странице приветствия или на самой странице входа в систему.
Я видел проект, который использует список каждый URL для одного из двух перехватчиков, один из которых ничего не делает, а другой является фактическим перехватчиком, который вы хотите реализовать, но этот дизайн кажется очень неуклюжим и ограничивает простота расширяемости приложения. Для меня имеет смысл, что должен быть способ использования перехватчиков, основанный на аннотациях, но этого, похоже, не существует.
У моего друга есть идея изменить класс обработчика таким образом, чтобы при каждом запросе он проверял контроллер, на который он отображает запрос, для новой аннотации, которую мы создали (например, @Interceptor ("loginInterceptor")).
Важным моментом моего размышления является расширяемость, потому что я хотел бы позже реализовать аналогичные перехватчики для аутентификации на основе ролей и / или аутентификации администрирования.
Похоже, подход моего друга сработает для этого? Или как правильно делать это?