過濾器(filter),在web專案中用來驗證使用者是否登陸,我個人感覺是非常適合的(前提是你不想使用security這種的安全認證框架)。
之前在網上看到了一些關於使用filter來進行登陸驗證的文章,都不太全面,有的根本就是在誤導開發者,故在此寫下此文章,供初級開發者學習。
想實現登陸過濾,只需完成兩個工作,乙個是配置檔案(web.xml),乙個是filter實現類的業務邏輯。看似簡單,卻會出現諸多問題。
以下是我專案的部分**:
web.xml
loginfilter
com.***.***c.filter.loginfilter
initurl
loginvalidate.do
loginfilter
/page/*
loginfilter
*.do
這裡的配置,可以看出以下三點資訊:
1,我初始化了乙個變數,名為initurl,值為loginvalidate.do。
2,我想過濾page資料夾下的所有檔案(page下只有jsp檔案)。
3,我想過濾所有的.do結尾的請求。
這裡還需注意以下幾點:
2,/page/*.jsp 這種寫法是錯誤的,這裡只有/page/*和*.jsp這兩種寫法。
3,上面配置檔案中,我攔截了所有的.do請求,這樣就連驗證使用者名稱和密碼的請求也會攔截,所以我init了乙個變數,在filter中將該請求忽略掉。
4,登陸頁面和首頁(不需要過濾的)不要放在page目錄下,之前我把login.jsp放在了page下,結果訪問時出現了」該頁面有多次迴圈重定向「的提示。是因為你不斷訪問
登陸頁面,進入filter後,又被不斷重定向到登陸頁面所致。
loginfilter**:
private string requesturl;
private string initurl;
@override
public void init(filterconfig arg0) throws servletexception
@override
public void dofilter(servletrequest arg0, servletresponse arg1,
filterchain arg2) throws ioexception, servletexception else
}以上**,完成了驗證使用者是否登陸的工作,如果使用者未登陸,會被重定向到登陸頁面。
filter 自動登陸
filter過濾器filter 篩請求的 快速入門 filter攔截之後需要放行才能訪問到相應的資源位址,不然就執行完dofilter方法後停止 public class quickfilter implements filter public void dofilter servletreques...
Filter用作安全登陸
filter用作安全登陸 這篇用filter來做安全登陸,何為安全登陸,簡單點說就是登陸之後才能訪問頁面,不登陸什麼頁面都訪問不了。也可以看出springmvc的 之攔截對controller的訪問,而filter攔截所有的訪問 如下 一 後台 二 配置 在web.xml中配置 myfilter c...
ubuntu root 使用者登陸登陸辦法
習慣於圖形化操作的我們,不愛面對一堆的命令的操作,拿想要隨意操作所有東東,就想要提示登入的許可權 以root使用者登入就可以。但是,ubuntu預設並沒有以root使用者登入,so,我們需要做些配置,讓系統再啟動的時候直接以root使用者登入。ubuntu 12.04預設是不允許root登入的,在登...