scud 寫道: |
1.使用webwork的攔截器,針對每個action做攔截,但是好像實現(xiàn)不了對某個方法的攔截吧 , 如果一個action處理多個操作,就比較麻煩 |
先指出問題:webwork的攔截器是可以對每個action方法的。例如:
java代碼: |
<action name="user" class="com.test.UserAction" method="add"> <result name="success" type="dispatcher"> <param name="location">/form.jsp</param> </result> <result name="invalid.token" type="dispatcher"> <param name="location">/form.jsp</param> </result> <interceptor-ref name="defaultStack"/> </action> |
這就是對UserAction的add()方法。它其實同execute()方法是一樣的,只是訪問的時候要這樣:user!add.action。
如果你只是一個模塊,比如文章發(fā)布系統(tǒng)的 增加,刪除,修改,瀏覽,那么你完全可以通過“!”這樣的字符來解析方法(例如:這里的add)對應(yīng)到相應(yīng)的操作權(quán)限。
當(dāng)然,在實際生成環(huán)境,會有很多模塊,對應(yīng)很復(fù)雜的操作。也許要將這些url權(quán)限持久化到數(shù)據(jù)庫中,甚至部分操作的權(quán)限要寫死。