diff --git a/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java b/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java new file mode 100644 index 0000000..5a7b73a --- /dev/null +++ b/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 { + // 完成后的请求 + } +}