1. 程式人生 > >關於登錄filter攔截的一些思考

關於登錄filter攔截的一些思考

權限 定向 fff size 如果 att XML spa ffffff

  問題導向的解決思路方法:

1、登錄系統設計時,訪問需要權限控制的頁面時,需要檢查每一個請求中的cookie是否有可訪問標識,如果有則正常訪問,如果沒有則跳轉到登錄頁面;(麻煩,增加代碼量)

2、這個時候考慮可以用過濾器的方式,在有請求過來的時候我先把它攔截住,然後在裏面做檢查cookie的操作;(設計意圖明了,去除重復代碼) 3、但是如果訪問的是登錄頁面時,過濾器也會把它攔截下來進行cookie的檢查,這樣導致了重定向循環的問題;(問題轉移) 4、問題轉移到了filter如何設置例外請求的方式; 5、我們可以在過濾器設置如果請求路徑以login為開頭,就直接放行;(查找資料) 6、後來又發現需要例外的地方有點多,比如退出接口和回調接口,也不需要進行檢查cookie的檢查,這樣會導致判斷條件增多,而且filter裏面加了很多硬編碼的東西也不好;(硬編碼)
7、後來我發現可以通過在web.xml中設置初始化參數,將要例外的請求地址放入到初始化參數中,這樣可以在過濾器中讀取初始化參數,再進行判斷; 8、問題得以解決,後來又看了些博客,感覺這樣設計其實也挺麻煩的,再回到問題的根源,我們只是想攔截需要權限才能訪問的頁面進行權限的檢查,那我們可以直接將所有這樣的頁面前面加一個統一的地址,比如admin/、passport/,這樣過濾器只攔截urlpattern為admin的地址。(回歸本源) 參考鏈接: filter如何設置例外的請求:http://iqbon.iteye.com/blog/1894438

關於登錄filter攔截的一些思考