添加单点登录接口和退出接口
This commit is contained in:
@@ -85,6 +85,15 @@ public class AuthController {
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/logout-client")
|
||||
@PermitAll
|
||||
@Operation(tags = "授权管理",summary = "登出系统")
|
||||
@OperateLog(enable = false) // 避免 Post 请求被记录操作日志
|
||||
public CommonResult<Boolean> logoutClient(@RequestParam("refreshToken") String refreshToken) {
|
||||
logoutService(refreshToken);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/switch-login")
|
||||
@Operation(tags = "授权管理",summary = "切换部门登录")
|
||||
@OperateLog(enable = false) // 避免 Post 请求被记录操作日志
|
||||
@@ -164,7 +173,9 @@ public class AuthController {
|
||||
@Parameter(name = "refreshToken", description = "根据token获取用户信息", required = true)
|
||||
@OperateLog(enable = false) // 避免 Post 请求被记录操作日志
|
||||
public CommonResult<AdminUserDO> getUerInfo(@RequestParam("refreshToken") String refreshToken) {
|
||||
return success(authService.getTokenTouserInfo(refreshToken));
|
||||
|
||||
CommonResult<AdminUserDO> result = CommonResult.success(authService.getTokenTouserInfo(refreshToken));
|
||||
return result;
|
||||
}
|
||||
|
||||
@GetMapping("/get-permission-info")
|
||||
@@ -291,7 +302,23 @@ public class AuthController {
|
||||
authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType());
|
||||
}
|
||||
//清空个人信息
|
||||
String userRedisKey="JEE_LOW_CODE:USER:"+loginUserId+":*";
|
||||
String userRedisKey="LIDEE_LOW_CODE:USER:"+loginUserId+":*";
|
||||
Set<String> keys = stringRedisTemplate.keys(userRedisKey);
|
||||
if(keys!=null && keys.size()>0){
|
||||
keys.forEach(key->{
|
||||
stringRedisTemplate.delete(key);
|
||||
});
|
||||
}
|
||||
}
|
||||
private void logoutService(String token){
|
||||
AdminUserDO user = authService.getTokenTouserInfo(token);
|
||||
Long loginUserId = user.getId();
|
||||
|
||||
if (StrUtil.isNotBlank(token)) {
|
||||
authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType());
|
||||
}
|
||||
//清空个人信息
|
||||
String userRedisKey="LIDEE_LOW_CODE:USER:"+loginUserId+":*";
|
||||
Set<String> keys = stringRedisTemplate.keys(userRedisKey);
|
||||
if(keys!=null && keys.size()>0){
|
||||
keys.forEach(key->{
|
||||
|
||||
@@ -100,7 +100,7 @@ public class LideeYunJiPermissionServiceImpl implements ILideeYunJiPermissionSer
|
||||
}
|
||||
//根据角色id来判断我是否是开发者,如果有开发者,则说明直接可以访问
|
||||
boolean devUserFlag=false;
|
||||
String isDevUserRedisKey="JEE_LOW_CODE:USER:"+userId+":DEVUSER";
|
||||
String isDevUserRedisKey="LIDEE_LOW_CODE:USER:"+userId+":DEVUSER";
|
||||
if(!stringRedisTemplate.hasKey(isDevUserRedisKey)){//没有数据,则查询获取 TODO 优化
|
||||
//所有菜单列表
|
||||
Set<Long> menuIdList = permissionService.getRoleMenuListByRoleId(roleIds);
|
||||
|
||||
@@ -85,6 +85,8 @@ public class OAuth2TokenServiceImpl implements IOAuth2TokenService {
|
||||
// 获得用户基本信息
|
||||
OAuth2AccessTokenDO accessTokenDO= oauth2AccessTokenMapper.selectByAccessToken(refreshToken);
|
||||
AdminUserDO user = adminUserService.getUser(accessTokenDO.getUserId());
|
||||
user.setPassword("");
|
||||
user.setEmail("");
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user