我们发布啦

This commit is contained in:
张乐
2020-08-13 16:12:57 +08:00
parent a3e1c38d27
commit c0cec49f41
1885 changed files with 376936 additions and 2 deletions

View File

@@ -0,0 +1,46 @@
package com.interceptor;
import com.alibaba.fastjson.JSONObject;
import com.common.CommonResult;
import com.utils.RequestUtil;
import com.zbkj.crmeb.system.service.SystemRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器
public class AdminAuthInterceptor implements HandlerInterceptor {
@Autowired
private SystemRoleService systemRoleService;
//程序处理之前需要处理的业务
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setCharacterEncoding("UTF-8");
String uri = RequestUtil.getUri(request);
if(uri == null || uri.isEmpty()){
response.getWriter().write(JSONObject.toJSONString(CommonResult.forbidden()));
return false;
}
Boolean result = systemRoleService.checkAuth(uri);
//TODO 此处暂时放开
// if(!result){
// response.getWriter().write(JSONObject.toJSONString(CommonResult.forbidden()));
// return false;
// }
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
}
}

View File

@@ -0,0 +1,48 @@
package com.interceptor;
import com.alibaba.fastjson.JSONObject;
import com.common.CheckAdminToken;
import com.common.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器 使用前注意需要一个@Bean手动注解否则注入无效
public class AdminTokenInterceptor implements HandlerInterceptor {
@Autowired
CheckAdminToken checkAdminToken;
//程序处理之前需要处理的业务
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setCharacterEncoding("UTF-8");
String token = checkAdminToken.getTokenFormRequest(request);
if(token == null || token.isEmpty()){
response.getWriter().write(JSONObject.toJSONString(CommonResult.unauthorized()));
return false;
}
Boolean result = checkAdminToken.check(token);
if(!result){
response.getWriter().write(JSONObject.toJSONString(CommonResult.unauthorized()));
return false;
}
return true;
}
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
}
}

View File

@@ -0,0 +1,44 @@
package com.interceptor;
import com.alibaba.fastjson.JSONObject;
import com.common.CheckFrontToken;
import com.common.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//token验证拦截器
public class FrontTokenInterceptor implements HandlerInterceptor {
@Autowired
private CheckFrontToken checkFrontToken;
//程序处理之前需要处理的业务
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setCharacterEncoding("UTF-8");
String token = checkFrontToken.getTokenFormRequest(request);
if(token == null || token.isEmpty()){
response.getWriter().write(JSONObject.toJSONString(CommonResult.unauthorized()));
return false;
}
Boolean result = checkFrontToken.check(token);
if(!result){
response.getWriter().write(JSONObject.toJSONString(CommonResult.unauthorized()));
return false;
}
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
}
}

View File

@@ -0,0 +1,68 @@
package com.interceptor;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.util.AntPathMatcher;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import sun.misc.BASE64Decoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class SwaggerInterceptor extends HandlerInterceptorAdapter {
private String username;
private String password;
private Boolean check;
public SwaggerInterceptor(String username, String password, Boolean check) {
this.username = username;
this.password = password;
this.check = check;
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String authorization = request.getHeader("Authorization");
boolean isAuthSuccess = httpBasicAuth(authorization);
if (!isAuthSuccess) {
response.setCharacterEncoding("utf-8");
response.setStatus(401);
// response.setStatus(401,"Unauthorized");
response.setHeader("WWW-authenticate", "Basic realm=\"Realm\"");
try (PrintWriter writer = response.getWriter()) {
writer.print("Forbidden, unauthorized user");
}
}
return isAuthSuccess;
}
public boolean httpBasicAuth(String authorization) throws IOException {
if(check){
if (authorization != null && authorization.split(" ").length == 2) {
String userAndPass = new String(new BASE64Decoder().decodeBuffer(authorization.split(" ")[1]));
String username = userAndPass.split(":").length == 2 ? userAndPass.split(":")[0] : null;
String password = userAndPass.split(":").length == 2 ? userAndPass.split(":")[1] : null;
return this.username.equals(username) && this.password.equals(password);
}
return false;
}
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
String uri = request.getRequestURI();
AntPathMatcher pathMatcher = new AntPathMatcher();
if (!pathMatcher.match("/swagger-ui.html", uri) && !pathMatcher.match("/webjars/**", uri)) {
response.setStatus(404);
return;
}
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:/META-INF/resources" + uri);
if (resources.length > 0) {
FileCopyUtils.copy(resources[0].getInputStream(), response.getOutputStream());
} else {
response.setStatus(404);
}
}
}