Зміст
У цій короткій статті буде розказано як отримати об'єкт зареєстрованого користувача в Spring Security.
В фреймворцы Spring MVC є корисний клас Authentication з пакету org.springframework.security.core. В цьому класі міститься вся інформація щодо користувача, що увійшов в систему, а саме такі методи:
Collection
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 | > |