Spring Security: setUserPrincipal вручную
В веб-приложении с Spring MVC и Spring Security.
Есть ли способ установить UserPrincipal вручную?
Мне нужно переключиться на другого пользователя с помощью административной части моего веб-приложения. В моем контроллере можно установить userPrincipal в запросе? Для подключения, как если бы я был кем-то другим.
Вот так: request.setUserPrincipal(). GetName()
1 ответ
Я сделал такие вещи, чтобы автоматически регистрировать людей после регистрации. Кажется, что он будет делать то, что вы ищете:
Authentication authentication = new UsernamePasswordAuthenticationToken(
userService.loadUserByUsername(u.getUserName()), null,
AuthorityUtils.createAuthorityList("ROLE_USER"));
SecurityContextHolder.getContext().setAuthentication(authentication);
Я забираю своего пользователя из сервиса. Это должно реализовать интерфейс org.springframework.security.core.userdetails.UserDetails.
Я думаю, что это должно дать вам хорошее представление о том, что нужно делать. Я помню, что мне потребовалось время, чтобы собрать это воедино из документов.