美文网首页
自定义权限注解+filter检查接口请求权限

自定义权限注解+filter检查接口请求权限

作者: kayabu | 来源:发表于2018-09-23 15:21 被阅读0次
    1. 自定义注解
    @Retention(RUNTIME)
    @Target(METHOD)
    public @interface MyOperation {
        String value() default "";//默认为空,因为名字是value,实际操作中可以不写"value="
    }
    
    1. 在检查的接口上添加注解
    @Controller("testController")
    public class TestController {
        @MyOperation(UserEnum.USER.name())//主要看这里
        @RequestMapping("test")
        @ResponseBody
        public String test(String id) {
            return "Hello,2018!"+id;
        }
    }
    
    1. 创建拦截器
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        System.out.println("进入拦截器");
        if(handler instanceof HandlerMethod) {
            HandlerMethod h = (HandlerMethod)handler;
            System.out.println("用户是:"+h.getMethodAnnotation(MyOperation.class).value());
            //判断后执行操作...
        }
        return HandlerInterceptor.super.preHandle(request, response, handler);
    }
    

    强转为HandleMethod时注意,请求为当GET请求是请求静态文件时(在spring配置文件里会配置静态文件的URI),handler的实际类型会是DefaultServletHttpRequestHandler,需要进行判断直接跳过。

    相关文章

      网友评论

          本文标题:自定义权限注解+filter检查接口请求权限

          本文链接:https://www.haomeiwen.com/subject/mnxqoftx.html