Вы можете получить свой аутентифицированный объект с помощью аннотации @AuthenticationPrincipal вместо того, чтобы получать объект из httpsession и приводить его обратно к вашему объекту для каждого метода контроллера.
Позвольте мне привести пример, данная страница входа в систему являетсяоткрытая страница и объект пользователя, как показано ниже:
Класс пользователя:
public class User implement UserDetails {
String contact;
Integer age;
}
Контроллер:
@GetMapping(value = "/login")
ModelAndView login(@AuthenticationPrincipal User user) {
if (user == null) {
return new ModelAndView("/login");
} else {
return new ModelAndView(new RedirectView("/home"));
}
}