parent
95e21dee5e
commit
5c8601ca38
@ -0,0 +1,45 @@
|
||||
package com.taxi.apipassenger.interceptor;
|
||||
|
||||
import com.auth0.jwt.exceptions.TokenExpiredException;
|
||||
import com.internal.dto.ResponseResult;
|
||||
import com.internal.util.JwtUtils;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.PrintWriter;
|
||||
import java.security.SignatureException;
|
||||
|
||||
public class JwtInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
boolean resultBoolean = true;
|
||||
String resultStr = "";
|
||||
String token = request.getHeader("Authorization");
|
||||
|
||||
try {
|
||||
//解析token
|
||||
JwtUtils.parseToken(token);
|
||||
|
||||
} catch (SignatureException exception) {
|
||||
resultStr = "token sign error ";
|
||||
resultBoolean = false;
|
||||
}catch (TokenExpiredException ex){
|
||||
resultStr = "token time out";
|
||||
resultBoolean = false;
|
||||
}catch (Exception exception){
|
||||
resultBoolean = false;
|
||||
}
|
||||
if(!resultBoolean){
|
||||
PrintWriter outPrintWriter = response.getWriter();
|
||||
JSONObject jsonObject = JSONObject.fromObject(ResponseResult.fail(resultStr));
|
||||
outPrintWriter.print(jsonObject.toString());
|
||||
}
|
||||
|
||||
return resultBoolean;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue