使用yauaa代替bitwalker

This commit is contained in:
RuoYi
2025-12-09 13:55:49 +08:00
parent e73d4918d3
commit e16e2be36d
5 changed files with 15 additions and 21 deletions

View File

@@ -21,7 +21,7 @@
<shiro.version>1.13.0</shiro.version>
<thymeleaf.extras.shiro.version>2.1.0</thymeleaf.extras.shiro.version>
<druid.version>1.2.27</druid.version>
<bitwalker.version>1.21</bitwalker.version>
<yauaa.version>7.32.0</yauaa.version>
<kaptcha.version>2.3.3</kaptcha.version>
<swagger.version>3.0.0</swagger.version>
<pagehelper.boot.version>1.4.7</pagehelper.boot.version>
@@ -134,9 +134,9 @@
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
<groupId>nl.basjes.parse.useragent</groupId>
<artifactId>yauaa</artifactId>
<version>${yauaa.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->

View File

@@ -83,10 +83,10 @@
<artifactId>poi-ooxml</artifactId>
</dependency>
<!-- yml解析器 -->
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<groupId>nl.basjes.parse.useragent</groupId>
<artifactId>yauaa</artifactId>
</dependency>
<!-- servlet包 -->

View File

@@ -59,12 +59,6 @@
<artifactId>thymeleaf-extras-shiro</artifactId>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>

View File

@@ -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);

View File

@@ -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);