Доступ к идентификатору пользователя в Spring

Я делаю некоторую работу по проверке концепции с Spring MVC и безопасностью. До сих пор мне удалось написать простое веб-приложение с защищенной веб-страницей, которая требует от пользователя входа в систему и наличия правильной роли перед доступом к базе данных и перечислением некоторых данных. Кстати, я использую Spring 2.0.8. Что мне нужно, так это то, что после того, как пользователь вошел в систему, он должен получить доступ к основному объекту пользователя для текущего сеанса, чтобы перейти на мой уровень DAO. Я хотел бы сделать это через стандартную проводку bean-компонентов, поэтому это должно быть что-то определенное во время выполнения. Любые указатели, чтобы начать? Ура Нил


person Neil    schedule 07.07.2010    source источник


Ответы (1)


SecurityContextHolder#getContext() вернет SecurityContext, связанный с текущим запросом пользователя.

Оттуда вы можете вызвать getAuthentication().getPrincipal(), чтобы получить данные, связанные с вошедшим в систему пользователем.

Нет необходимости внедрять какой-либо bean-компонент, статический метод в SecurityContextHolder позаботится о доступе к правильным локальным данным потока.

person bashflyng    schedule 07.07.2010