Як отримати користувача в Spring Security

липня
04
2012
Мітки: java mvc security spring user

Зміст

У цій короткій статті буде розказано як отримати об'єкт зареєстрованого користувача в Spring Security.

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

CollectiongetAuthorities() - повертає список ролей, які має користувач (наприклад, в нашому випадку 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 >

Напишіть перше повідомлення!

Ви повинні увійти під своїм аккаунтом щоб залишати коментарі