管理员修改密码重新登录

dev
gyc 2024-04-12 20:27:58 +08:00
parent 861ac637cc
commit 13ca181385
3 changed files with 29 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package com.muyu.system.controller;
import com.muyu.common.core.constant.CacheConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.poi.ExcelUtil;
@ -7,13 +8,16 @@ 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.service.TokenService;
import com.muyu.common.security.utils.SecurityUtils;
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;
@ -26,8 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -38,6 +41,8 @@ import java.util.stream.Collectors;
@RestController
@RequestMapping("/user")
public class SysUserController extends BaseController {
@Autowired
private SysUserOnlineService userOnlineService;
@Autowired
private SysUserService userService;
@ -55,7 +60,8 @@ public class SysUserController extends BaseController {
@Autowired
private SysConfigService configService;
@Autowired
private RedisService redisService;
/**
*
*/
@ -248,7 +254,23 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public Result resetPwd (@RequestBody SysUser user) {
userService.checkUserAllowed(user);
//获取缓存列表
Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
//循环获得的缓存列表
for (String key : keys) {
//获取用户的信息
LoginUser userRedis = redisService.getCacheObject(key);
//根据用户id判断是否修改了密码
if (user.getUserId()!=null && user.getUserId()!=0L) {
if (user.getUserId()==userRedis.getUserid()){
//修改了就删除
redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + userRedis.getToken());
}
}
}
userService.checkUserDataScope(user.getUserId());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername());

View File

@ -30,6 +30,8 @@ public interface SysUserOnlineService {
*/
public SysUserOnline selectOnlineByUserName (String userName, LoginUser user);
/**
* /
*

View File

@ -46,6 +46,7 @@ public class SysUserOnlineServiceImpl implements SysUserOnlineService {
return null;
}
/**
* /
*