Как получить пользователя в Spring Security

июля
04
2012
Метки: java mvc security spring user

Содержание

В этой короткой статье будет рассказано как получить объект зарегистрированного пользователя в Spring Security.

В фреймворке Spring MVC есть полезный класс Authentication из пакета org.springframework.security.core. В этом классе содержится вся информация относительно пользователя, вошедшего в систему, а именно следующие методы:

Collection getAuthorities() - возвращает список ролей, которые имеет пользователь (например, в нашем случае ROLE_USER и ROLE_ADMIN). Устанавливается объектом AuthenticationManager.

Object getCredentials() - возвращает список полномочий, которыми проверяется, что пользователь является верным. Обычно это пароль, но может быть что-угодно.

Object getDetails() - возвращает дополнительные детали запроса аутентификации. Это может быть IP-адрес, серийный номер сертификата и др.

Object getPrincipal() - возвращает объект пользователя, вошедшего в систему.

String getName() - возвращает имя пользователя, вошедшего в систему.

boolean isAuthenticated() - возвращает true если пользователь авторизован.

Из этого списка наиболее интересным является метод getPrincipal(), который возвращает объект пользователя, который, в основном, создается разработчиком и может содержать любые необходимые данные.

Пример использования:


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

< Spring Security. Страница Login Logout в Spring Security >

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии