Spring MVC, как заставить обработчик контроллера обрабатывать все запросы перед сопоставленными обработчиками? - PullRequest
0 голосов
/ 16 февраля 2011

Я написал веб-приложение с его смелыми контроллерами и отображением обработчиков, все с Spring 3.0 и аннотациями контроллеров.Теперь выясняется, что мне нужны простые и нестандартные аутентификации.Я не хочу использовать ACEGI на данный момент, потому что у меня нет времени, чтобы изучить его.В идеале я хотел бы, чтобы у меня была подпрограмма, которая вызывается перед каждым сопоставленным обработчиком, получает из HttpSession userId, проверяет, вошел ли он в систему, и ключ сеанса, а если нет, перенаправляет на страницу входа.Я думал о перехватчике ... проблема в том, что вы должны использовать HandlerInterceptorAdapter, который имеет следующий метод:

 public boolean preHandle(
            HttpServletRequest request,
            HttpServletResponse response,
            Object handler) throws Exception {

, который не позволяет мне получить доступ к HttpSession, связанному с запросом.Как мне это решить?

1 Ответ

3 голосов
/ 16 февраля 2011

Ты уверен?Вы должны быть в состоянии получить сессию через request.getSession().

...