美文网首页
自定义权限注解+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