Вам необходимо зарегистрировать ApplicationListener
с событием InteractiveAuthenticationSuccessEvent
, чтобы заполнить сеанс необходимыми данными пользователя.
@Component
public class LoginListener implements ApplicationListener<InteractiveAuthenticationSuccessEvent> {
@Autowired
HttpSession httpSession;
@Override
public void onApplicationEvent(InteractiveAuthenticationSuccessEvent event)
{
//Do whatever with httpSession object
}
}
Я хочу, чтобы HttpSession запускался только при успешном входе в систему
HttpSession может быть @Autowired
, так как оба являются бобами пружины.
Но в моем коде сессия создается при загрузке самой страницы входа в систему ..
Сеанс создается весенней безопасностью, как только к странице входа в систему обращаются в первый раз, но сеанс, созданный в то время, не авторизован, и после успешного входа в систему пользователем будет создан новый сеанс для этого пользователя, и предыдущий сеанс будетразрушен.