Управление весенней сессией - PullRequest
2 голосов
/ 28 декабря 2010

Я использую Spring для своего веб-приложения.Я использовал несколько SimpleFormControllers.Я создал сессию в первом SimpleFormController для страницы входа в систему, используя:

HttpSession session = request.getSession(true);

Как я могу защитить другие SimpleFormController, используя Sessions, т.е. чтобы другие контроллеры не загружались, если пользователь не вошел в систему.

Спасибо

Ответы [ 2 ]

6 голосов
/ 28 декабря 2010

Возможно, вы хотите использовать Spring Security.Он гибкий и допускает ограничения в зависимости от ролей.

Без него вам нужно будет вручную проверять каждый контроллер, вошел ли пользователь в систему или нет.Или вам придется «заново изобрести» структуру безопасности, добавив фильтр в веб-приложение.

Если вы хотите защитить только операцию получения сеанса, вам нужно написать фильтр, который оборачивает исходный запроспереопределяет методы getSession.Там вы можете проверить данные для входа, используя исходный запрос getSession().

Кстати, getSession() эквивалентно getSession(true)

0 голосов
/ 01 марта 2014

Чтобы защитить Контроллер от доступа за пределы предполагаемой Сессии, вы можете сравнить необходимые вам правила Scoping с этим четко написанным Руководством. Как получить объект Session весной MVC

Автор приводит пример создания контроллера с аннотацией @Scope ("session")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...