12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package cn.efunbox.audio.aop;
- import cn.efunbox.audio.entity.Device;
- import cn.efunbox.audio.service.DeviceService;
- import cn.efunbox.audio.utils.ApiCode;
- import cn.efunbox.audio.utils.HttpUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestHeader;
- import org.springframework.web.servlet.HandlerInterceptor;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * 用户验证拦截器
- * Created by yao on 17-9-29.
- */
- public class AuthInterceptor implements HandlerInterceptor {
- @Autowired
- DeviceService deviceService;
- @Override
- public boolean preHandle(HttpServletRequest request,
- HttpServletResponse response, Object handler) throws Exception {
- String id = request.getHeader("id");
- String token = request.getHeader("token");
- if(id==null)
- id = request.getParameter("id");
- if(token==null)
- token = request.getParameter("token");
- System.out.println("id:"+id+", token:"+token);
- if(id==null || token==null){
- System.out.println("id:"+id+",token:"+token);
- HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
- return false;
- }
- Device device = deviceService.GetOne(Long.valueOf(id));
- System.out.println(device.toString());
- if(device==null ||
- ((device.getTokenNew()==null || false == device.getTokenNew().equalsIgnoreCase(token))
- && (device.getTokenOld()==null || false == device.getTokenOld().equalsIgnoreCase(token)))){
- HttpUtil.responseApiCode(request,response, ApiCode.INVALID_TOKEN);
- return false;
- }
- if(device.getStatus()<0){
- HttpUtil.responseApiCode(request, response, ApiCode.ACCESS_DENIED);
- return false;
- }
- if(device.getTokenOld()!=null && device.getTokenOld().equalsIgnoreCase(token)){
- device.setTokenNew(device.getTokenOld());
- device.setTokenOld("");
- deviceService.Update(device);
- }else if(device.getTokenOld()!=null && false==device.getTokenOld().equalsIgnoreCase(token)){
- device.setTokenOld("");
- deviceService.Update(device);
- }
- return true;
- }
- @Override
- public void postHandle(HttpServletRequest request,
- HttpServletResponse response, Object handler,
- ModelAndView modelAndView) throws Exception {
- }
- @Override
- public void afterCompletion(HttpServletRequest request,
- HttpServletResponse response, Object handler, Exception ex)
- throws Exception {
- }
- }
|