diff --git a/bonus-auth/src/main/java/com/bonus/auth/service/SysLoginService.java b/bonus-auth/src/main/java/com/bonus/auth/service/SysLoginService.java index c8243a6..2cc1261 100644 --- a/bonus-auth/src/main/java/com/bonus/auth/service/SysLoginService.java +++ b/bonus-auth/src/main/java/com/bonus/auth/service/SysLoginService.java @@ -100,7 +100,7 @@ public class SysLoginService public void recordLogininfor(String username, String status, String message) { SysLogininfor logininfor = new SysLogininfor(); - logininfor.setUserName(username); + logininfor.setUserName(isStrictPositiveInteger(username) ? username : "0"); logininfor.setIpaddr(IpUtils.getIpAddr(ServletUtils.getRequest())); logininfor.setMsg(message); // 日志状态 @@ -119,4 +119,13 @@ public class SysLoginService recordLogininfor(userId, Constants.LOGOUT, "退出成功"); } + // 严格模式(不允许前导零) + private static final String STRICT_POSITIVE_REGEX = "^[1-9][0-9]*$"; + public static boolean isStrictPositiveInteger(String str) { + if (str == null || str.isEmpty()) { + return false; + } + return str.trim().matches(STRICT_POSITIVE_REGEX); + } + }