Commit 767a02be authored by 向怀芳's avatar 向怀芳 🎱

1. 代理IP处理02

parent 356ff45a
...@@ -80,10 +80,7 @@ public class SictTokenEndpoint { ...@@ -80,10 +80,7 @@ public class SictTokenEndpoint {
String tokenValue = authHeader.replaceAll("(?i)Bearer", "").trim(); String tokenValue = authHeader.replaceAll("(?i)Bearer", "").trim();
OAuth2AccessToken accessToken = tokenStore.readAccessToken(tokenValue); OAuth2AccessToken accessToken = tokenStore.readAccessToken(tokenValue);
if (accessToken == null || StrUtil.isBlank(accessToken.getValue())) { if (accessToken == null || StrUtil.isBlank(accessToken.getValue())) {
return R.builder() return new R();
.code(Constant.BYTE_NO)
.data(Boolean.FALSE)
.msg("退出失败,token 无效").build();
} }
OAuth2Authentication auth2Authentication = tokenStore.readAuthentication(accessToken); OAuth2Authentication auth2Authentication = tokenStore.readAuthentication(accessToken);
......
...@@ -158,7 +158,7 @@ public class WebUtils extends org.springframework.web.util.WebUtils { ...@@ -158,7 +158,7 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
return getIP(WebUtils.getRequest()); return getIP(WebUtils.getRequest());
} }
public String getSession(){ public String getSession() {
return WebUtils.getSessionId(WebUtils.getRequest()); return WebUtils.getSessionId(WebUtils.getRequest());
} }
...@@ -196,13 +196,17 @@ public class WebUtils extends org.springframework.web.util.WebUtils { ...@@ -196,13 +196,17 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
public String getIP(ServerHttpRequest request) { public String getIP(ServerHttpRequest request) {
HttpHeaders headers = request.getHeaders(); HttpHeaders headers = request.getHeaders();
String ip = headers.getFirst("x-forwarded-for"); String ip = headers.getFirst("x-forwarded-for");
log.error("getIp.ip = {}", ip); log.error("headers = {}", JSONUtil.toJsonStr(headers));
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
// 多次反向代理后会有多个ip值,第一个ip才是真实ip // 多次反向代理后会有多个ip值,第一个ip才是真实ip
if (ip.indexOf(",") != -1) { if (ip.indexOf(",") != -1) {
if ("127.0.0.1".equals(ip.split(",")[0])) {
ip = ip.split(",")[1];
} else {
ip = ip.split(",")[0]; ip = ip.split(",")[0];
} }
} }
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = headers.getFirst("Proxy-Client-IP"); ip = headers.getFirst("Proxy-Client-IP");
} }
...@@ -257,13 +261,12 @@ public class WebUtils extends org.springframework.web.util.WebUtils { ...@@ -257,13 +261,12 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
} }
/** /**
*
* @param request HttpServletRequest * @param request HttpServletRequest
* tip: 不可使用WebUtils.getRequest()获取 * tip: 不可使用WebUtils.getRequest()获取
* @param allowSuffix 文件后缀名 多个以","逗号分隔 * @param allowSuffix 文件后缀名 多个以","逗号分隔
* @return * @return
*/ */
public MultipartFile getRequestFile(@NonNull HttpServletRequest request, @NonNull String allowSuffix){ public MultipartFile getRequestFile(@NonNull HttpServletRequest request, @NonNull String allowSuffix) {
String errorMsg = StrUtil.EMPTY; String errorMsg = StrUtil.EMPTY;
String[] suffixs = allowSuffix.split(","); String[] suffixs = allowSuffix.split(",");
...@@ -275,26 +278,27 @@ public class WebUtils extends org.springframework.web.util.WebUtils { ...@@ -275,26 +278,27 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
file = fileEntity.getValue(); file = fileEntity.getValue();
String originalFilename = file.getOriginalFilename(); String originalFilename = file.getOriginalFilename();
String suffix = originalFilename.substring(originalFilename.lastIndexOf('.') + 1); String suffix = originalFilename.substring(originalFilename.lastIndexOf('.') + 1);
if(suffixSet.contains(suffix)){ if (suffixSet.contains(suffix)) {
break; break;
} }
errorMsg = "文件类型不支持"; errorMsg = "文件类型不支持";
} }
Assert.isTrue(StrUtil.isBlank(errorMsg), errorMsg); Assert.isTrue(StrUtil.isBlank(errorMsg), errorMsg);
Objects.requireNonNull(file,"excel导入 ---------->>>>>>> 未检测到上传文件"); Objects.requireNonNull(file, "excel导入 ---------->>>>>>> 未检测到上传文件");
return file; return file;
} }
/** /**
* 导出excel * 导出excel
*
* @param list 数据 * @param list 数据
* @param writer * @param writer
* @param name 文件名 * @param name 文件名
*/ */
@SneakyThrows @SneakyThrows
public void exportExcel(@NonNull List list,@NonNull ExcelWriter writer, String name) { public void exportExcel(@NonNull List list, @NonNull ExcelWriter writer, String name) {
writer.setOnlyAlias(true); writer.setOnlyAlias(true);
HttpServletResponse response = WebUtils.getResponse(); HttpServletResponse response = WebUtils.getResponse();
//response为HttpServletResponse对象 //response为HttpServletResponse对象
......
...@@ -65,7 +65,7 @@ public class RequestGlobalFilter implements GlobalFilter, Ordered { ...@@ -65,7 +65,7 @@ public class RequestGlobalFilter implements GlobalFilter, Ordered {
// IP白名单 // IP白名单
String ip = WebUtils.getIP(request); String ip = WebUtils.getIP(request);
// log.error("RemoteAddress = {}, ip = {}", request.getRemoteAddress(), ip); log.error("RemoteAddress = {}, ip = {}", request.getRemoteAddress(), ip);
try { try {
if (whitIPConfig.getLimitFlag() && !IPStrUtil.matches(ip, whitIPConfig.getWhites())) { if (whitIPConfig.getLimitFlag() && !IPStrUtil.matches(ip, whitIPConfig.getWhites())) {
ServerHttpResponse response = exchange.getResponse(); ServerHttpResponse response = exchange.getResponse();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment