2012-05-04 13 views
1

loggedOut.jsp라는 새 JSP 파일을 만들었고 응용 프로그램에서 로그 아웃을 클릭 한 후 해당 JSP 파일로 이동하려고합니다. loggedOut.jsp 파일로 이동하는 대신 로그인 페이지로 가져 왔지만 URL은 loggedOut.jsp로 이동하는 것으로 표시됩니다.응용 프로그램에 JSP 파일을 추가하려면 어떻게해야합니까?

나는 바람둥이 7과 vaadin을 사용하고 있습니다.

내 애플리케이션이 loggedOut.jsp로 이동하게하려면 어떻게해야합니까?

내 web.xml 파일 : 당신은 아마 "의 웹 애플리케이션 (또는 웹 애플리케이션에서 필터) 모든 로그인 페이지로 리디렉션 (또는 많게)를 구성

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<display-name>Messages</display-name> 
<context-param> 
    <description> 
    Vaadin production mode</description> 
    <param-name>productionMode</p+aram-name> 
    <param-value>false</param-value> 
</context-param> 
<servlet> 
    <servlet-name>MessagesApplication</servlet-name> 
    <servlet-class>org.vaadin.artur.icepush.ICEPushServlet</servlet-class> 
    <init-param> 
     <description> 
     Vaadin application class to start</description> 
     <param-name>application</param-name> 
     <param-value>com.entropix.msgapp.main.MsgApplication</param-value> 
    </init-param> 
    <init-param> 
     <description> 
     Application widgetset</description> 
     <param-name>widgetset</param-name> 
     <param-value>com.entropix.msgapp.main.widgetset.MessagesWidgetset</param-value> 
    </init-param> 
</servlet> 
<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 
<servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
    <url-pattern>/login.jsp</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
    <url-pattern>/loginFailed.jsp</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
    <url-pattern>/loggedOut.jsp</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>MessagesApplication</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
</welcome-file-list> 
<security-constraint> 
    <display-name>LoginConstraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>MessagesUser</web-resource-name> 
     <description>Messages Application Authenticated User</description> 
     <url-pattern>/*</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>messages-user</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE --> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
<security-role> 
    <description>Messages User</description> 
    <role-name>messages-user</role-name> 
</security-role> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.jsp</form-login-page> 
     <form-error-page>/loginFailed.jsp</form-error-page> 
     </form-login-config> 
</login-config> 

+0

더 나은 도움을 받고 들어, 당신이 지금까지했던 어떤 게시하시기 바랍니다. –

답변

3

사용자가 인증되지 않은 경우 "보호 된"URL로 보호됩니다.

loggedOut.jsp가 액세스가 인증되어야하는 "보호 된"URL (또는 URL 패턴)의 일부가 아닌지 확인하십시오. 이는 일반적으로 web.xml 파일에서 구성되지만 앱이 어떻게 작동하는지 알 수있는 유일한 사람입니다.

편집 : 이제 web.xml 파일을 보았습니다. 내부를보세요. 액세스 할 URL이 messages-user 인 URL 패턴 /* (웹 애플리케이션의 모든 URL을 의미)을 가진 리소스 모음을 정의하고 있습니다. 즉, webapp의 모든 URL에 액세스하려면 인증을 받아야하며이 인증을 통해 messages-user 역할을 획득해야합니다. 따라서 로그 아웃하자마자 사용자를 logedOut.jsp로 재 지정합니다. 그러나 URL을 액세스 할 수 있도록 인증해야하므로 로그인 페이지가 표시됩니다. 여기

당신을위한 튜토리얼 : http://docs.oracle.com/javaee/5/tutorial/doc/bncas.html

+0

"보호 된"URL은 어디에서 찾을 수 있습니까? – Knoxie

+0

내가 말했듯이 : "이것은 일반적으로 web.xml 파일에 구성되어 있습니다". –

+0

죄송합니다. 더 구체적이어야합니다. 나는 이것에 아주 새롭고 무엇이이 보호 한 URL을 찾아 내기까지 찾고 있는지 확실하지 않다. login.xml에 이미 web.xml에 추가했습니다. 내가 다른 곳으로 이동하는 것을 볼 수없는 곳은 어디에도 보이지 않는다. 서블릿 매핑> <서블릿 이름> JSP /loggedOut.jsp Knoxie

관련 문제