webwork的攔截器真是好用
這幾天設計一個專案,雖然基本上是採用老專案的許可權管理,但發現老專案的許可權管理,把一些細微的許可權寫死在方法裡面,而且每增加一個許可權,都有進行配置,寫靜態屬性,很煩。所以今天想了下,決定採用webwork自帶的攔截器來實現細微的許可權設計。在這裡我就不細說攔截器的使用了。貼程式碼出來
在配置檔案裡只需要這樣做就ok了
<action name="list"><interceptor-ref name="permissionInterceptor">
</interceptor-ref>
</action>
上面的df就是你自己定義的許可權操作引數。這樣就避免了軟編碼。直接硬編碼就ok了。方便明瞭。
我這才發現webwork的攔截器是多麼的貼心
java 程式碼
- public class PermissionInterceptor implements Interceptor {
- private static Logger logger = Logger.getLogger(PermissionInterceptor.class);
- /**
- * 需求攔截並進行判斷的許可權引數
- */
- private String prem;
- public final void setPrem(String prem) {
- this.prem = prem;
- }
- public PermissionInterceptor() {
- super();
- }
- public void destroy() {
- }
- public void init() {
- }
- /**
- * 攔截使用者操作
- */
- public String intercept(ActionInvocation invocate) throws Exception {
- logger.debug(prem);
- if(PermissionUtil.hasPermission(prem)){
- logger.debug("No Prem");
- return invocate.invoke();
- }else{
- logger.debug("Yes Prem");
- return Constant.NOT_AUTHORIZE;
- }
- }
- }
在配置檔案裡只需要這樣做就ok了
xml 程式碼
- <action name="list"
- class="com.teesoo.teanet.action.member.MemberAction" method="list">
- <result name="success" type="freemarker">
- /WEB-INF/template/member/member_list.ftl
- </result>
- <interceptor-ref name="myDefaultStack">
- </interceptor-ref>
- <interceptor-ref name="permissionInterceptor">
- <param name="prem">
- df
- </param>
- </interceptor-ref>
- </action>
</interceptor-ref>
</action>
上面的df就是你自己定義的許可權操作引數。這樣就避免了軟編碼。直接硬編碼就ok了。方便明瞭。
我這才發現webwork的攔截器是多麼的貼心
相關文章
- 攔截器,攔截器棧總結
- Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高階配置”SpringMVC
- SpringMVC攔截器,設定不攔截的URLSpringMVC
- MyBatis攔截器MyBatis
- Mybatis 攔截器MyBatis
- sql攔截器SQL
- Mybatis中的攔截器MyBatis
- axios攔截器iOS
- Mybatis Interceptor 攔截器MyBatis
- axios 攔截器iOS
- spring攔截器Spring
- Java interceptor 攔截器Java
- SpringMVC攔截器SpringMVC
- Java實現的攔截器Java
- grpc中的攔截器RPC
- SpringMVC中的攔截器SpringMVC
- vue中用axios攔截器攔截請求和響應VueiOS
- Flume內建攔截器與自定義攔截器(程式碼實戰)
- SpringMVC-攔截器SpringMVC
- 攔截過濾器模式過濾器模式
- gRPC(3):攔截器RPC
- 【SpringMVC】 4.3 攔截器SpringMVC
- web api新增攔截器WebAPI
- spring boot 攔截器Spring Boot
- SpringMVC配置攔截器SpringMVC
- mybatis註冊攔截器MyBatis
- HandlerInterceptor - 自定義攔截器
- spring mvc 攔截器的使用SpringMVC
- Struts2 ---攔截器的理解
- SpringBoot攔截器中獲取註解、攔截器中注入ServiceSpring Boot
- 短視訊直播系統,軟體自帶的攔截器,攔截功能
- struts struts攔截器(過濾器)過濾器
- Spring Boot新增攔截器Spring Boot
- 16、threadlocal+攔截器thread
- Java Struts 實現攔截器Java
- Mybatis-分頁攔截器MyBatis
- C# 12 攔截器 InterceptorsC#
- axios 攔截器 的使用方法iOS