scud 寫道: |
1.使用webwork的攔截器,針對每個action做攔截,但是好像實現不了對某個方法的攔截吧 , 如果一個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。
如果你只是一個模塊,比如文章發布系統的 增加,刪除,修改,瀏覽,那么你完全可以通過“!”這樣的字符來解析方法(例如:這里的add)對應到相應的操作權限。
當然,在實際生成環境,會有很多模塊,對應很復雜的操作。也許要將這些url權限持久化到數據庫中,甚至部分操作的權限要寫死。