@Aspect@Componentpublic class HomeworkAuthorizeAspect { private Logger log = LoggerFactory.getLogger(HomeworkAuthorizeAspect.class); @Pointcut("execution(public * com.xxx.homework.controller.*.*(..))") public void verify(){} @Before("verify()") public void doVerify(){ ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); // Cookie 查询 Cookie cookie = CookieUtil.get(request, CookieConstant.TOKEN); if(null == cookie){ log.warn("Cookie中查不到token"); throw new AuthorizeException(); } }}
自定义异常,向上抛出异常进行统一拦截
@ControllerAdvicepublic class AuthorizeExceptionHandler { @ExceptionHandler(value = AuthorizeException.class) public ModelAndView handlerAuthorizeException(){ return new ModelAndView(""); }}