Я делаю некоторую работу по проверке концепции с Spring MVC и безопасностью. До сих пор мне удалось написать простое веб-приложение с защищенной веб-страницей, которая требует от пользователя входа в систему и наличия правильной роли перед доступом к базе данных и перечислением некоторых данных. Кстати, я использую Spring 2.0.8. Что мне нужно, так это то, что после того, как пользователь вошел в систему, он должен получить доступ к основному объекту пользователя для текущего сеанса, чтобы перейти на мой уровень DAO. Я хотел бы сделать это через стандартную проводку bean-компонентов, поэтому это должно быть что-то определенное во время выполнения. Любые указатели, чтобы начать? Ура Нил
Доступ к идентификатору пользователя в Spring
Ответы (1)
SecurityContextHolder#getContext() вернет SecurityContext, связанный с текущим запросом пользователя.
Оттуда вы можете вызвать getAuthentication().getPrincipal(), чтобы получить данные, связанные с вошедшим в систему пользователем.
Нет необходимости внедрять какой-либо bean-компонент, статический метод в SecurityContextHolder позаботится о доступе к правильным локальным данным потока.
person
bashflyng
schedule
07.07.2010