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

View File

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

View File

@@ -59,12 +59,6 @@
<artifactId>thymeleaf-extras-shiro</artifactId> <artifactId>thymeleaf-extras-shiro</artifactId>
</dependency> </dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
</dependency>
<!-- 获取系统信息 --> <!-- 获取系统信息 -->
<dependency> <dependency>
<groupId>com.github.oshi</groupId> <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.ServletUtils;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.UserAgentUtils;
import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.shiro.session.OnlineSession; import com.ruoyi.framework.shiro.session.OnlineSession;
import com.ruoyi.system.domain.SysLogininfor; 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.ISysOperLogService;
import com.ruoyi.system.service.ISysUserOnlineService; import com.ruoyi.system.service.ISysUserOnlineService;
import com.ruoyi.system.service.impl.SysLogininforServiceImpl; 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) 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(); final String ip = ShiroUtils.getIp();
return new TimerTask() return new TimerTask()
{ {
@@ -108,9 +108,9 @@ public class AsyncFactory
// 打印信息到日志 // 打印信息到日志
sys_user_logger.info(s.toString(), args); 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(); SysLogininfor logininfor = new SysLogininfor();
logininfor.setLoginName(username); 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.apache.shiro.web.session.mgt.WebSessionContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.IpUtils; import com.ruoyi.common.utils.IpUtils;
import eu.bitwalker.useragentutils.UserAgent; import com.ruoyi.common.utils.http.UserAgentUtils;
/** /**
* 自定义sessionFactory会话 * 自定义sessionFactory会话
@@ -27,11 +27,11 @@ public class OnlineSessionFactory implements SessionFactory
HttpServletRequest request = (HttpServletRequest) sessionContext.getServletRequest(); HttpServletRequest request = (HttpServletRequest) sessionContext.getServletRequest();
if (request != null) 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.setHost(IpUtils.getIpAddr(request));
session.setBrowser(browser); session.setBrowser(browser);
session.setOs(os); session.setOs(os);