哎,最近都在做重復的工作,沒(méi)能學(xué)習先知識
現在在做系統的權限模塊,或者說(shuō)是最簡(jiǎn)單的權限模塊:
用戶(hù)——功能
很多使用SSH的人,都會(huì )考慮到用戶(hù)未登錄,直接跳入后臺頁(yè)面(知道它的url地址)
一開(kāi)始,很自然想到Struts里面的攔截器
做著(zhù)做著(zhù)會(huì )發(fā)現,根本沒(méi)有用!
比如說(shuō)后臺頁(yè)面的地址為 /admin/index.jsp
最讓Struts的Filter明明是截獲所有的請求進(jìn)行處理的
可是...
Struts不會(huì )阻止任何人訪(fǎng)問(wèn)頁(yè)面?。ㄒ簿褪莏sp、html等等),
而只阻止訪(fǎng)問(wèn)Act
也就是說(shuō),你在地址欄輸入/admin/index.jsp一樣可以到后臺頁(yè)面去!
而如果你輸入/admin/loadResource.act
解決方法是:
Filter + Interceptor
Filter自己集成Servlet中的Filter重寫(xiě)方法,做出權限判斷,
也就是說(shuō)Filter截獲的是頁(yè)面請求!
Interceptor是Struts中的,你可以集成AbstractInterceptor類(lèi),定義自己的攔截器再配置上
也就是說(shuō)Interceptor截獲的是Act
兩個(gè)加起來(lái)就可以做到最基礎的頁(yè)面權限了!
聯(lián)系客服