From c1668d0569fcc44486d4b99d562e54a07ddf5677 Mon Sep 17 00:00:00 2001 From: rouchen <3133657697@qq.com> Date: Fri, 12 Apr 2024 15:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=87=8D=E7=BD=AE=E5=AF=86?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/service/SysLoginService.java | 3 ++- .../system/controller/SysUserController.java | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java index 59971a3..7bf922e 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysLoginService.java @@ -15,6 +15,7 @@ import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; +import org.apache.commons.lang3.SystemUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -55,7 +56,7 @@ public class SysLoginService { } // 用户名不在指定范围内 错误 if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) { + || username.length() > UserConstants.USERNAME_MAX_LENGTH ) { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围"); throw new ServiceException("用户名不在指定范围"); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 9811a0e..096c714 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -7,6 +7,7 @@ import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.redis.service.RedisService; import com.muyu.common.security.annotation.InnerAuth; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; @@ -14,6 +15,7 @@ import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; +import com.muyu.system.domain.SysUserOnline; import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; @@ -24,6 +26,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @@ -56,6 +59,9 @@ public class SysUserController extends BaseController { @Autowired private SysConfigService configService; + @Autowired + private SysUserOnlineController sysUserOnlineController; + /** * 获取用户列表 */ @@ -226,7 +232,6 @@ public class SysUserController extends BaseController { } return toAjax(userService.deleteUserByIds(userIds)); } - /** * 重置密码 */ @@ -234,8 +239,18 @@ public class SysUserController extends BaseController { @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") public Result resetPwd (@RequestBody SysUser user) { + SysUser sysUser = userService.selectUserById(user.getUserId()); userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); + Result> list = sysUserOnlineController.list(user.getLoginIp(), user.getUserName()); + System.out.println(list); + TableDataInfo data = list.getData(); + List rows = data.getRows(); + for (SysUserOnline row : rows) { + if (row.getUserName().equals(sysUser.getUserName())){ + sysUserOnlineController.forceLogout(row.getTokenId()); + } + } user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setUpdateBy(SecurityUtils.getUsername()); return toAjax(userService.resetPwd(user)); @@ -290,4 +305,6 @@ public class SysUserController extends BaseController { public Result deptTree (SysDept dept) { return success(deptService.selectDeptTreeList(dept)); } + + }