Установить пользовательский объект в сеансе, используя Spring - PullRequest
2 голосов
/ 18 ноября 2011

Я бы хотел установить объект User, который содержит информацию о пользователе, в сеанс в моем приложении Spring.

Я хотел бы использовать этот объект сеанса, когда я хотел бы получить сведения о зарегистрированном пользователе на различных страницах JSP.

Я использую Spring 3 и Spring Security 3

Я бы хотел установить объект User в сеансе из моего пользовательского класса аутентификации, который не является контроллером

Как мне этого добиться?

1 Ответ

1 голос
/ 18 ноября 2011

Полагаю, у вас есть некоторая реализация класса UserDetailsService.Вы можете вернуть любой User объект, реализующий UserDetails из loadUserByUsername().Затем этот объект автоматически помещается в ваш сеанс HTTP.Затем его можно получить с помощью:

User user = (User)SecurityContextHolder.
    getContext().getAuthentication().getPrincipal();

Spring Security автоматически обрабатывает все, что вам нужно.

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