Фон: Я использую пружинную защиту.Я реализовал пользовательский поставщик аутентификации и аутентификации.Я также связал в пользовательском фильтре JWT (до BasicAuthenticationFilter).
Фильтр проверяет, является ли JWT действительным, затем вводит идентификатор из токена в пользовательскую аутентификацию.
Поставщик пользовательской аутентификации заполняет объект аутентификации пользователем, привязанным к идентификатору в аутентификации.object.
Ни в одном из полей аутентификации объектов аутентификации не установлено значение true.
Вопрос 1: В цепочке безопасности Spring, которая отвечает за установку поля аутентификации для объектов аутентификации?Почему запросы принимаются и передаются в контроллеры, когда объект аутентификации не «аутентифицирован»?
Вопрос 2: Иногда после того, как поле пользователя аутентификации установлено (с действительным пользователем), захватпользователь из пользовательской аутентификации приводит к нулю.Как это было бы возможно?Я могу войти в систему аутентификации и увидеть, что пользователь установлен и действителен, но есть некоторые случаи, когда следующий вызов приведет к нулю:
MyAuthentication authentication = (MyAuthentication)SecurityContextHolder.getContext().getAuthentication();
User user = authentication.getUser();
Проблема не зависит от пользователя.Любые мысли приветствуются.