В моем проекте у меня есть 2 модуля: один для входа и другой для регистрации нового пользователя.Spring Security, Войти после регистрации
Если пользователь уже существует, мой модуль входа в систему, который разработан с использованием Spring Security, отлично работает, то есть после входа в систему. Идентификатор пользователя сохраняется как UserPrincipal
в объект HttpServletRequest
.
Для регистрации нового пользователя я делаю первую запись в базе данных, а затем пытаюсь выполнить аутентификацию с использованием Spring Security, я пишу следующий код, чтобы сделать это, и он отлично работает.
Отрывок:
UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities());
authMgr.authenticate(auth);
SecurityContextHolder.getContext().setAuthentication(auth);
Проблема заключается в том, что я не получаю UserPrincipal
в HttpServletRequest
. поэтому после звонка setAuthentication(auth)
, я вызываю request.getuserprincipal()
и он возвращает null.