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.

Я думаю, что это должно дать вам хорошее представление о том, что нужно делать. Я помню, что мне потребовалось время, чтобы собрать это воедино из документов.

Другие вопросы по тегам