Spring Security: setUserPrincipal вручную - PullRequest
9 голосов
/ 12 декабря 2011

В веб-приложении с Spring MVC и Spring Security.

Есть ли способ установить UserPrincipal вручную?

Мне нужно переключиться на другого пользователя с помощью административной части моего веб-приложения.В моем контроллере, возможно ли установить UserPrincipal в запросе?Для подключения, как если бы я был кем-то другим.

Вот так: request.setUserPrincipal (). GetName ()

1 Ответ

5 голосов
/ 13 октября 2013

Я сделал такие вещи, чтобы автоматически регистрировать людей после регистрации.Кажется, что это будет делать то, что вы ищете:

Authentication authentication = new UsernamePasswordAuthenticationToken(
            userService.loadUserByUsername(u.getUserName()), null,
            AuthorityUtils.createAuthorityList("ROLE_USER"));
SecurityContextHolder.getContext().setAuthentication(authentication);

Я забираю своего пользователя из службы.Это должно реализовать интерфейс org.springframework.security.core.userdetails.UserDetails .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...