Browse Source

feat: 登陆代理

master_tdsql
hxh 9 months ago
parent
commit
13dd3d822d
  1. 38
      shuili-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java
  2. 1
      shuili-admin/src/main/resources/config/application-dev.yml
  3. 14
      shuili-common/src/main/java/com/shuili/common/utils/ip/IpUtils.java

38
shuili-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java

File diff suppressed because one or more lines are too long

1
shuili-admin/src/main/resources/config/application-dev.yml

@ -171,6 +171,7 @@ ignored:
/chunk/*, /chunk/*,
/error, /error,
/login, /login,
/login-proxy,
/captchaImage, /captchaImage,
/system/file/**, /system/file/**,
/system/user/exportExcel, /system/user/exportExcel,

14
shuili-common/src/main/java/com/shuili/common/utils/ip/IpUtils.java

@ -18,25 +18,27 @@ import java.util.regex.Pattern;
* @author shuili * @author shuili
*/ */
public class IpUtils { public class IpUtils {
public final static String UNKNOWN = "unknown";
public static String getIpAddr(HttpServletRequest request) { public static String getIpAddr(HttpServletRequest request) {
if (request == null) { if (request == null) {
return "unknown"; return UNKNOWN;
} }
String ip = request.getHeader("x-forwarded-for"); String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP"); ip = request.getHeader("Proxy-Client-IP");
} }
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For"); ip = request.getHeader("X-Forwarded-For");
} }
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP"); ip = request.getHeader("WL-Proxy-Client-IP");
} }
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP"); ip = request.getHeader("X-Real-IP");
} }
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr(); ip = request.getRemoteAddr();
} }
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : EscapeUtil.clean(ip); return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : EscapeUtil.clean(ip);

Loading…
Cancel
Save