diff --git a/pom.xml b/pom.xml index 8269c8de..825887fb 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 1.13.0 2.1.0 1.2.27 - 1.21 + 7.32.0 2.3.3 3.0.0 1.4.7 @@ -134,9 +134,9 @@ - eu.bitwalker - UserAgentUtils - ${bitwalker.version} + nl.basjes.parse.useragent + yauaa + ${yauaa.version} diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 7dfcaf0f..7847bed8 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -83,10 +83,10 @@ poi-ooxml - + - org.yaml - snakeyaml + nl.basjes.parse.useragent + yauaa diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml index c0c85220..5abfd8c1 100644 --- a/ruoyi-framework/pom.xml +++ b/ruoyi-framework/pom.xml @@ -59,12 +59,6 @@ thymeleaf-extras-shiro - - - eu.bitwalker - UserAgentUtils - - com.github.oshi diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java index f125664c..e73af79e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java @@ -9,6 +9,7 @@ import com.ruoyi.common.utils.LogUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.http.UserAgentUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.framework.shiro.session.OnlineSession; import com.ruoyi.system.domain.SysLogininfor; @@ -17,7 +18,6 @@ import com.ruoyi.system.domain.SysUserOnline; import com.ruoyi.system.service.ISysOperLogService; import com.ruoyi.system.service.ISysUserOnlineService; import com.ruoyi.system.service.impl.SysLogininforServiceImpl; -import eu.bitwalker.useragentutils.UserAgent; /** * 异步工厂(产生任务用) @@ -91,7 +91,7 @@ public class AsyncFactory */ public static TimerTask recordLogininfor(final String username, final String status, final String message, final Object... args) { - final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent")); + final String userAgent = ServletUtils.getRequest().getHeader("User-Agent"); final String ip = ShiroUtils.getIp(); return new TimerTask() { @@ -108,9 +108,9 @@ public class AsyncFactory // 打印信息到日志 sys_user_logger.info(s.toString(), args); // 获取客户端操作系统 - String os = userAgent.getOperatingSystem().getName(); + String os = UserAgentUtils.getOperatingSystem(userAgent); // 获取客户端浏览器 - String browser = userAgent.getBrowser().getName(); + String browser = UserAgentUtils.getBrowser(userAgent); // 封装对象 SysLogininfor logininfor = new SysLogininfor(); logininfor.setLoginName(username); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/session/OnlineSessionFactory.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/session/OnlineSessionFactory.java index f1e5a3ee..5043664d 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/session/OnlineSessionFactory.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/session/OnlineSessionFactory.java @@ -7,7 +7,7 @@ import org.apache.shiro.session.mgt.SessionFactory; import org.apache.shiro.web.session.mgt.WebSessionContext; import org.springframework.stereotype.Component; import com.ruoyi.common.utils.IpUtils; -import eu.bitwalker.useragentutils.UserAgent; +import com.ruoyi.common.utils.http.UserAgentUtils; /** * 自定义sessionFactory会话 @@ -27,11 +27,11 @@ public class OnlineSessionFactory implements SessionFactory HttpServletRequest request = (HttpServletRequest) sessionContext.getServletRequest(); if (request != null) { - UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent")); + String userAgent = request.getHeader("User-Agent"); // 获取客户端操作系统 - String os = userAgent.getOperatingSystem().getName(); + String os = UserAgentUtils.getOperatingSystem(userAgent); // 获取客户端浏览器 - String browser = userAgent.getBrowser().getName(); + String browser = UserAgentUtils.getBrowser(userAgent); session.setHost(IpUtils.getIpAddr(request)); session.setBrowser(browser); session.setOs(os);