2010-01-28 64 views
0

我的應用程序在jsp和servlets中使用stardard MVC模式。當用戶點擊會話過期後的鏈接時,我喜歡重定向到登錄頁面。相同的應用程序用於許多國家,所以我給國家代碼與登錄網址。所以簡單的重定向到登錄頁面是不可能的。我如何重定向到我的Web應用程序根目錄?它看起來像這樣... www.mysite.com/LoginServlet?country='EUF'redict在會話過期後登錄

請幫忙。

謝謝...

回答

0

你可以使用一個Servlet過濾器,將重定向到用戶。如果會話過期,則過濾器將用戶重定向到登錄頁面。

+0

但我需要登錄頁面的登錄頁面參數,你會添加類似的東西。從哪裏我會得到那個? – coder247 2010-05-05 07:18:36

+0

過濾器可以重定向到一個任意的URL,所以你可以添加你想要的任何參數。 – deamon 2010-05-05 08:44:30

1

假設基於表單的身份驗證到您的web.xml 這需要用戶進行身份驗證的任何其他頁面之前訪問

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Secured</web-resource-name> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name>    
    </auth-constraint> 
</security-constraint> 

<security-role> 
    <role-name>admin</role-name> 
</security-role> 

<login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>Form-Based Authentication</realm-name> 
    <form-login-config> 
     <form-login-page>/Login.jsp</form-login-page> 
     <form-error-page>/Login.jsp</form-error-page> 
    </form-login-config> 
</login-config>