| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package com.nju.edu.pay.web;
- import com.nju.edu.pay.util.jwt.JWTUtil;
- import com.nju.edu.pay.web.annotation.RootAllowed;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.method.HandlerMethod;
- import org.springframework.web.servlet.HandlerInterceptor;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.lang.reflect.Method;
- public class AuthenticationInterceptor implements HandlerInterceptor {
- @Autowired
- JWTUtil jwtUtil;
- @Override
- public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object object) throws Exception {
- HandlerMethod handlerMethod=(HandlerMethod)object;
- Method method=handlerMethod.getMethod();
- if (method.isAnnotationPresent(RootAllowed.class)) {
- RootAllowed passToken = method.getAnnotation(RootAllowed.class);
- if (passToken.required()) {
- String token=httpServletRequest.getHeader("Authorization");
- return jwtUtil.verifyToken(token);
- }
- }
- return true;
- }
- @Override
- public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
- }
- @Override
- public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
- }
- }
|