This commit is contained in:
2023-07-30 15:51:23 +08:00
parent e193c32074
commit 63f0553db9
2 changed files with 44 additions and 12 deletions

View File

@@ -1,10 +0,0 @@
package cn.lihongjie.coal.common;
import lombok.experimental.UtilityClass;
@UtilityClass
public class JwtUtils {
}

View File

@@ -1,16 +1,58 @@
package cn.lihongjie.coal.common;
import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;
import eu.bitwalker.useragentutils.Version;
import jakarta.servlet.http.HttpServletRequest;
import lombok.experimental.UtilityClass;
@UtilityClass
public class RequestUtils {
private static final String[] HEADERS_TO_TRY = {
"X-Forwarded-For",
"Proxy-Client-IP",
"WL-Proxy-Client-IP",
"HTTP_X_FORWARDED_FOR",
"HTTP_X_FORWARDED",
"HTTP_X_CLUSTER_CLIENT_IP",
"HTTP_CLIENT_IP",
"HTTP_FORWARDED_FOR",
"HTTP_FORWARDED",
"HTTP_VIA",
"REMOTE_ADDR" };
private String getClientIpAddress(HttpServletRequest request) {
for (String header : HEADERS_TO_TRY) {
String ip = request.getHeader(header);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
return ip;
}
}
return request.getRemoteAddr();
}
public static String getIp(HttpServletRequest request) {
return null;
return getClientIpAddress(request);
}
public static String getUa(HttpServletRequest request) {
return null;
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
Browser browser = userAgent.getBrowser();
String browserName = browser.getName();
//or
// String browserName = browser.getGroup().getName();
Version browserVersion = userAgent.getBrowserVersion();
OperatingSystem os = userAgent.getOperatingSystem();
return os.getName() + " " + browserName + browserVersion.toString();
}
}