TokenInterceptor.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.example.hotel.interceptor;
  2. /**
  3. * @Author: chenyizong
  4. * @Date: 2020-03-03
  5. */
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.example.hotel.util.TokenUtil;
  8. import org.springframework.stereotype.Component;
  9. import org.springframework.web.servlet.HandlerInterceptor;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12. @Component
  13. public class TokenInterceptor implements HandlerInterceptor {
  14. @Override
  15. public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler)throws Exception{
  16. if(request.getMethod().equals("OPTIONS")){
  17. response.setStatus(HttpServletResponse.SC_OK);
  18. return true;
  19. }
  20. response.setCharacterEncoding("utf-8");
  21. String token = request.getHeader("token");
  22. if(token != null){
  23. boolean result = TokenUtil.verify(token);
  24. if(result){
  25. System.out.println("通过拦截器");
  26. return true;
  27. }
  28. }
  29. response.setCharacterEncoding("UTF-8");
  30. response.setContentType("application/json; charset=utf-8");
  31. try{
  32. JSONObject json = new JSONObject();
  33. json.put("msg","token verify fail");
  34. json.put("code","50000");
  35. response.getWriter().append(json.toJSONString());
  36. System.out.println("认证失败,未通过拦截器");
  37. }catch (Exception e){
  38. e.printStackTrace();
  39. response.sendError(500);
  40. return false;
  41. }
  42. return false;
  43. }
  44. }