Здравствуйте. Стоит весьма несложная задача. Есть связанная с системным пользователем таблица, в которой хранится некоторый идентификатор организации. Я пытаюсь подписаться на событие входа пользователя в систему для обращения к этой таблице для записи в сессию этого самого идентификатора организации. Очевидно, что в запросе я должен использовать идентификатор пользователя. Прописал для эксперимента в базе одну только запись с таким пользователем в базе. Пользователь “admin”. С ним и захожу.
Проблема заключается в том, что на какие бы события я не подписывался(afterLoginUser, LoggedIn), при попытке получить из сессии userId возвращаются какие-то неизвестные идентификаторы, попытка получить из сессии userLogin возвращает null.
@EventListener
public void userLoggedIn(UserLoggedInEvent event) {
UserSession userSession = userSessionSource.getUserSession();
UUID userID = userSession.getAttribute("userId");
UUID organizationId = getOrganizationID(dataManager, userID);
if (organizationId != null)
{
userSession.setAttribute("organizationID", organizationId);
}
}
Посоветуйте, пожалуйста, на какое событие правильнее подписаться для реализации данной задачи. Правильно ли я получаю идентификатор пользователя?
Заранее спасибо.