powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security - хранение в сессии своих полей, вместе с authority, name.
1 сообщений из 1, страница 1 из 1
Spring Security - хранение в сессии своих полей, вместе с authority, name.
    #38395443
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Мне необходимо хранить в сессии некую информацию о пользователе. Можно воспользоваться HttpSession, но коллега использует SpringSecurity и мне удобно было бы хранить там же кое какую инфу, так как именно в SpringSecurity происходит авторизация. Я не знаком с этим фреймворком, но так понял, что по умолчанию там хранится имя пользователя и его тип (name, authority).

****-security.xml содержит в себе такую запись
Код: xml
1.
2.
3.
4.
5.
6.
7.
<authentication-manager alias="authenticationManager">
        <authentication-provider>
            <jdbc-user-service data-source-ref="dataSource" 
             users-by-username-query="select **.users.mail,**.users.password,**.users.enabled from **.users where **.users.mail =?" 
             authorities-by-username-query="select **.users.mail,**.users.authority from **.users where **.users.mail =? "/>
        </authentication-provider>
    </authentication-manager>



Я так понял, что users-by-username-query и users-by-username-query какие-то дефолтные запросы Spring Security, и потом я могу вытаскивать имя и тип как-то так -
Код: java
1.
2.
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
               String name = auth.getName();


Код: java
1.
2.
 Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        String authority = auth.getAuthorities().iterator().next().getAuthority();



Вопрос: а что необходимо добавить в <authentication-manager> в XML, чтобы выполнить запрос при авторизации, вытаскивающий нужные мне поля? Типа, EVERYTHING_WHAT_I_NEED-by-username-query="target_query"? И как потом на сервере вытаскивать это поле?
Код: java
1.
SecurityContextHolder.getContext().getAuthentication()

вроде не имеет доп полей, какой-то другой спринговский класс?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security - хранение в сессии своих полей, вместе с authority, name.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]