현재 Tomcat의 로그인 지원은 응용 프로그램이 로그인하지 않은 것을 알았을 때 사용자가 원래 있던 곳으로 사용자를 리디렉션합니다.로그인 후 index.jsp로 항상 이동하도록 Tomcat을 구성하는 방법은 무엇입니까?
나는이 응용 프로그램에서 항상 index.jsp
으로 돌아 가야합니다.
저는 이것이 WAR의 web.xml
에있는 간단한 구성 옵션이지만 Google에서 답을 찾지 못했음을 확신합니다.
현재 Tomcat의 로그인 지원은 응용 프로그램이 로그인하지 않은 것을 알았을 때 사용자가 원래 있던 곳으로 사용자를 리디렉션합니다.로그인 후 index.jsp로 항상 이동하도록 Tomcat을 구성하는 방법은 무엇입니까?
나는이 응용 프로그램에서 항상 index.jsp
으로 돌아 가야합니다.
저는 이것이 WAR의 web.xml
에있는 간단한 구성 옵션이지만 Google에서 답을 찾지 못했음을 확신합니다.
아마도 더 좋은 해결책은 서블릿 필터를 사용하는 것입니다. 그런 다음 j_username/j_password와 로그인에 성공했는지 확인하고 원하는 위치로 리디렉션 할 수 있습니다.
표준의 일부가 아니므로 web.xml에서 구성 할 수 없습니다. Tomcat (버전 6.0.14에서 테스트)의 경우 login.jsp 위에 다음 코드를 추가하여 사용자를 index.jsp로 강제로 되돌릴 수 있습니다. url에 'login'이라는 이름의 매개 변수가없는 모든 요청을 /index.jsp?login 페이지로 리디렉션합니다. 리디렉션에는 '로그인'매개 변수가 있기 때문에 사용자는 로그인 페이지가 표시됩니다.
안전한 솔루션은 아닙니다. 다른 사람이 페이지를 요청하고 login 매개 변수를 추가하면 리디렉션됩니다. 그래서 :
/showPerson ID =
/showPerson 로그인 리디렉션되지 않습니다 = 1234 ID가
코드를 /index.jsp?login하기 위해 1234 /index.jsp?login로 리디렉션 것??? 귀하의 login.jsp 위에 올라갑니다 :
<%
if (request.getParameter("login") == null) {
response.sendRedirect(request.getContextPath() + "/index.jsp?login");
return;
}
%>
대신 'login'매개 변수를 사용하면 쿠키를 사용할 수 있습니다. 로그인 매개 변수 (login = randomvalue)에 대한 임의 값을 작성하여 비교를 위해 세션 오브젝트에 값을 저장하여보다 안전하게 만들 수 있습니다.