Как я могу настроить Tomcat так, чтобы он всегда перенаправлял на index.jsp после входа в систему?

StackOverflow https://stackoverflow.com/questions/134263

  •  02-07-2019
  •  | 
  •  

Вопрос

В настоящее время служба поддержки входа в Tomcat перенаправляет пользователей обратно туда, где они находились изначально, когда приложение обнаружило, что они не вошли в систему.

Для этого конкретного приложения мне нужно заставить их всегда возвращаться к index.jsp.

Я почти уверен, что это простой вариант настройки в WAR web.xml, но я не нашел ответа в Google.

Это было полезно?

Решение

Лучшим решением, вероятно, было бы использовать фильтр сервлетов.Затем вы могли бы проверить наличие j_username / j_password и успешного входа в систему и перенаправить их туда, куда вы хотели, чтобы они отправились.

Другие советы

Это то, что вы не можете настроить в web.xml поскольку это не является частью стандарта.Для Tomcat (протестирован в версии 6.0.14) вы можете принудительно вернуть пользователей к index.jsp, добавив следующий код поверх вашего login.jsp.Он перенаправляет каждый запрос, у которого нет параметра с именем "login" в URL-адресе, на страницу входа /index.jsp?.Поскольку в перенаправлении действительно есть параметр "login", пользователю будет представлена страница входа в систему.

Это небезопасное решение.Если кто-то запросит страницу и добавит параметр входа в систему, он будет перенаправлен.Итак:

/showPerson?id=1234 перенаправит на /index.jsp?login

/showPerson?id=1234?логин НЕ будет перенаправляться на /index.jsp?login

Код, который идет поверх вашего login.jsp:

<%
if (request.getParameter("login") == null) {
    response.sendRedirect(request.getContextPath() + "/index.jsp?login");
    return;
}
%>

Вместо использования параметра "login" вы, вероятно, могли бы использовать файл cookie.Вы можете сделать это более безопасным, создав случайное значение для параметра login (login=randomvalue) и сохранив это значение в объекте session для сравнения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top