Использую Spring Boot. Задача довольно простая - в каждом методе у меня однотипные операции, проверка, вошел ли пользователь, если не вошел кидаем его в одно место, иначе продолжаем, в случае ошибки ещё куда-то кидаем. Пока что я просто заключил это в отдельный метод, где делаются все проверки и вызывается переданная параметром функция. Но всё равно громоздко выглядит, куча одинаковых сигнатур методов, с перечнем одинаковых кук внутри:
public String method(
@CookieValue(name = USER_ID_COOKIE_NAME, required = false) Cookie userId,
@CookieValue(name = TOKEN_COOKIE_NAME, required = false) Cookie token) {
return protectedAction(userId, token, user -> ...);
}
То есть много таких методов получается. Я знаю есть и фильтры, и сервлеты, но что-то в голове не укладывается, как лучше всего сделать.
Или может не нужно никакого общего действия, может в спринге есть что-то поинтереснее для этих целей? Не я же первый, кто захотел достаточно активно с куками работать )
Вы можете воспользоваться аннотацией @ModelAttribute
на методе. Тогда этот метод будет вызываться перед методами помеченными @RequestMapping
. Вот пример
@ModelAttribute
public void populateModel(@RequestParam String number, Model model) {
model.addAttribute(accountManager.findAccount(number));
}
В вашу модель будет добавлен новый атрибут.
Проверять залогинен ли пользователь лучше все используя Spring Security. Там вы можете прописать права на доступ к любой части вашего приложения.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, пожалуйста, как лучше всего добавить данные из JSON в ComboBoxГрафическая часть сделана с помощью Scene Builder, есть класс Controls, где прописаны...
Совсем недавно я начал изучать Java, в конце курса мне дали задание написать небольшой (в сравнении с проектами компании) учебный проектКогда...