Я новичок в безопасности Spring.Я реализовал Spring Security и сгенерировал токен JWT.Теперь мне нужно получить пользователя из токена и установить его в сеансе, чтобы сеанс этого пользователя сохранялся до истечения срока действия токена или выхода из него.С другой стороны, мне нужно получить доступ к API из контроллера, но пружинная защита не позволяет получить доступ к API без JWT Token.Можно ли получить доступ к API в моем контроллере, установив токен JWT глобально или в сеансе для всех запросов.
Вот то, что я пробовал до сих пор,
UsernamePasswordAuthenticationToken authenticationToken=new UsernamePasswordAuthenticationToken(loginRequest.getUserName(), loginRequest.getPassword());
Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
String jwt = tokenProvider.generateToken(authentication);
logger.info("jwt is:"+jwt);
logger.info("authentication:"+authentication.getName());
User user2 = new User();
user2.setUserFirstName(user.getFirstName());
user2.setUserLastName(user.getLastName());
request.getSession().setAttribute("loggedInUser",user2);
request.getSession().setMaxInactiveInterval(60);
request.getSession().setAttribute("menu", MenuUtils.buildMenu(user2));
return "home";
I 'Я делаю это при входе в систему.Я использую Thymeleaf во внешнем интерфейсе.
Спасибо за помощь заранее !!