Как сохранить запрошенный URL с параметрами после перенаправления на страницу входа? - PullRequest
3 голосов
/ 19 марта 2010

Меня попросили установить некоторую аутентификацию для некоторого контента на нашем веб-сайте с использованием JSP.То, что я хотел бы сделать, кажется мне простым, но я не могу понять, как это сделать в JSP.

Я хотел бы сделать следующее: когда пользователь запрашивает страницу, на которую вы должны войти, чтобы увидеть, у меня есть тег, который проверяет их куки на наличие токена аутентификации.Если его там нет, они перенаправляются на страницу входа.После того, как они войдут в систему, я хочу перенаправить их обратно на страницу, которую они сначала запросили, вместе с любыми параметрами, которые они отправляли.

Теперь у меня есть тег, который проверяет их аутентификацию и перенаправляет их на страницу входа.Эта часть работает просто отлично.Но я не уверен, как сохранить первые запрошенные URL и параметры, чтобы они могли быть перенаправлены после входа в систему.Как я могу это сделать?

1 Ответ

5 голосов
/ 19 марта 2010

Передайте его в качестве параметра запроса или, возможно, сохраните в сеансе (и удалите в конце).

Я не уверен, как вы реализовали пользовательский тег для проверки вошедшего в систему пользователя (это кажется довольно сложным, просто один Filter прослушивает url-pattern, охватывающий защищенные страницы, который проверяет наличие зарегистрированных для пользователя в HttpSession было достаточно), но в основном вам нужно получить нужную информацию из HttpServletRequest, которая должна быть доступна вам любым способом.

HttpServletRequest#getRequestURI() возвращает (относительный) URI запроса, а HttpServletRequest#getRequestURL() возвращает (полный) URL-адрес запроса, на который вы хотите перенаправить впоследствии, и HttpServletRequest#getQueryString() возвращает строку запроса (параметры запроса GET, если таковые имеются) для случая, который вы хотели бы включить в URL-адрес перенаправления.

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