2011-12-30 96 views
1

我目前在我的應用程序中有一個基於窗體的登錄,這是在Jboss門戶服務器上開發的。我希望做一些預先登錄驗證,並在條件成立的情況下將用戶重定向到另一個頁面。j_security_check之前的登錄過濾器

我怎麼能執行j_security_check登錄前攔截請求,並轉發條件後j_security_check流被發現是假的。

請注意,我不希望有客戶端驗證。

這就是我要怎樣做,但沒有發現任何的成功:

創建一個LoginFilter.java文件和我的web應用程序的web.xml看起來像:

<filter> 
    <filter-name>LoginFilter</filter-name> 
    <filter-class>com.xxx.filter.LoginFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>LoginFilter</filter-name> 
    <url-pattern>j_security_check</url-pattern> 
</filter-mapping> 

但這種過濾器根本沒有被調用。

誰能告訴我什麼是這個代碼或來解決這個問題的任何替代方法的問題。

回答

0

您將無法從Serverside集團攔截j_security_check。如果您的資源是安全的,則只有在j_security_check通過後纔會調用過濾器和全部過濾器。

我有類似的情況下,我改變了我的申請被撥打電話的方式。首先做一個http請求來執行j_security_check,然後使用相同的客戶端實例完成其餘的工作。

的底線是,j_security_check的第一件事是發生在服務器上。所以你不能從Serverside中截取它。

謝謝
J