2008-09-25 8 views
0

현재 Tomcat의 로그인 지원은 응용 프로그램이 로그인하지 않은 것을 알았을 때 사용자가 원래 있던 곳으로 사용자를 리디렉션합니다.로그인 후 index.jsp로 항상 이동하도록 Tomcat을 구성하는 방법은 무엇입니까?

나는이 응용 프로그램에서 항상 index.jsp으로 돌아 가야합니다.

저는 이것이 WAR의 web.xml에있는 간단한 구성 옵션이지만 Google에서 답을 찾지 못했음을 확신합니다.

답변

2

아마도 더 좋은 해결책은 서블릿 필터를 사용하는 것입니다. 그런 다음 j_username/j_password와 로그인에 성공했는지 확인하고 원하는 위치로 리디렉션 할 수 있습니다.

-1

표준의 일부가 아니므로 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)에 대한 임의 값을 작성하여 비교를 위해 세션 오브젝트에 값을 저장하여보다 안전하게 만들 수 있습니다.