Browse Source

全局拦截器

master
xyiege 4 years ago
parent
commit
e8bbfec3c2
  1. 65
      src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java

65
src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java

@ -0,0 +1,65 @@
package cn.chjyj.szwh.Interceptor;
import cn.chjyj.szwh.exception.ChException;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class ChInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//输出头
setHeader(response,request);
//如果非login页面,则判断header 中是否有 chtoken
String url=request.getRequestURI().trim();
if(!url.contains("/login")){
String chtoken = request.getHeader("chtoken");
if(StringUtils.isEmpty(chtoken)){
throw new ChException("token记录不存在,请确认是否已经登录成功");
}
//String token = request.getParameter("token");
// if(StringUtils.isBlank(token)){
// throw new ChException("token没有传入,禁止使用");
// }
//调用验证
// if(rsaService.chkToken(token)){
// return true;
// }
}
return false;
}
/**
* 设置输出头,添加跨域
* @param response
*/
private void setHeader(HttpServletResponse response,HttpServletRequest request){
//跨域的header设置
response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Methods", request.getMethod());
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
// 个性化主机设置
response.setHeader("chhong","true");
// 防止乱码
response.setHeader("Content-Type","application/json;charset=UTF-8");
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 拦截post
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 完成后的请求
}
}
Loading…
Cancel
Save