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