AuthInterceptor.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package cn.efunbox.audio.aop;
  2. import cn.efunbox.audio.entity.Device;
  3. import cn.efunbox.audio.service.DeviceService;
  4. import cn.efunbox.audio.utils.ApiCode;
  5. import cn.efunbox.audio.utils.HttpUtil;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.servlet.HandlerInterceptor;
  8. import org.springframework.web.servlet.ModelAndView;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import java.util.HashMap;
  12. import java.util.Map;
  13. /**
  14. * 用户验证拦截器
  15. * Created by yao on 17-9-29.
  16. */
  17. public class AuthInterceptor implements HandlerInterceptor {
  18. @Autowired
  19. DeviceService deviceService;
  20. @Override
  21. public boolean preHandle(HttpServletRequest request,
  22. HttpServletResponse response, Object handler) throws Exception {
  23. Map map = new HashMap<>();
  24. String id = request.getParameter("id");
  25. String token = request.getParameter("token");
  26. if(id==null || token==null){
  27. HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
  28. return false;
  29. }
  30. Device device = deviceService.GetOne(Long.valueOf(id));
  31. if(device==null ||
  32. ((device.getTokenNew()==null || false == device.getTokenNew().equalsIgnoreCase(token))
  33. && (device.getTokenOld()==null || false == device.getTokenOld().equalsIgnoreCase(token)))){
  34. HttpUtil.responseApiCode(request,response, ApiCode.INVALID_TOKEN);
  35. return false;
  36. }
  37. if(device.getTokenOld()!=null && device.getTokenOld().equalsIgnoreCase(token)){
  38. device.setTokenNew(device.getTokenOld());
  39. device.setTokenOld("");
  40. deviceService.Update(device);
  41. }else if(device.getTokenOld()!=null && false==device.getTokenOld().equalsIgnoreCase(token)){
  42. device.setTokenOld("");
  43. deviceService.Update(device);
  44. }
  45. return true;
  46. }
  47. @Override
  48. public void postHandle(HttpServletRequest request,
  49. HttpServletResponse response, Object handler,
  50. ModelAndView modelAndView) throws Exception {
  51. }
  52. @Override
  53. public void afterCompletion(HttpServletRequest request,
  54. HttpServletResponse response, Object handler, Exception ex)
  55. throws Exception {
  56. }
  57. }