😎增加强制下线账号,包括修改用户密码、重置密码、删除用户、修改用户角色
This commit is contained in:
parent
23c60abe7b
commit
f781a9f06f
@ -99,7 +99,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[NonAction]
|
||||
public async Task ForceOffline(long userId)
|
||||
public async Task ForceOfflineByUserId(long userId)
|
||||
{
|
||||
var users = await _sysOnlineUerRep.GetListAsync(u => u.UserId == userId);
|
||||
foreach (var user in users)
|
||||
|
||||
@ -152,7 +152,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
var user = await _sysUserRep.AsQueryable().ClearFilter().FirstAsync(u => u.Id == input.Id);
|
||||
var roleIds = await _sysUserRoleService.GetUserRoleIdList(input.Id);
|
||||
if (input.OrgId != user.OrgId || !input.RoleIdList.OrderBy(u => u).SequenceEqual(roleIds.OrderBy(u => u)))
|
||||
await _sysOnlineUserService.ForceOffline(input.Id);
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(input.Id);
|
||||
// 更新域账号
|
||||
await _sysUserLdapService.AddUserLdap(user.TenantId!.Value, user.Id, user.Account, input.DomainAccount);
|
||||
|
||||
@ -197,6 +197,9 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
// 设置账号Token黑名单
|
||||
await SetUserBlackList(user, StatusEnum.Disable);
|
||||
|
||||
// 强制账号下线
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(user.Id);
|
||||
|
||||
await _sysUserRep.DeleteAsync(user);
|
||||
|
||||
// 删除用户角色
|
||||
@ -281,7 +284,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
if (status != StatusEnum.Enable)
|
||||
{
|
||||
sysCacheService.Set($"{CacheConst.KeyUserBlacklist}{user.Id}", $"{user.RealName}-{user.Phone}");
|
||||
await _sysOnlineUserService.ForceOffline(user.Id); // 强制账号下线
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(user.Id); // 强制账号下线
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -304,6 +307,9 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
|
||||
await _sysUserRoleService.GrantUserRole(input);
|
||||
|
||||
// 强制账号下线
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(input.UserId);
|
||||
|
||||
// 发布更新用户角色事件
|
||||
await _eventPublisher.PublishAsync(UserEventTypeEnum.UpdateRole, input);
|
||||
}
|
||||
@ -366,6 +372,9 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
// 发布修改用户密码事件
|
||||
await _eventPublisher.PublishAsync(UserEventTypeEnum.ChangePwd, input);
|
||||
|
||||
// 强制账号下线
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(user.Id);
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
@ -387,6 +396,9 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
var keyPasswordErrorTimes = $"{CacheConst.KeyPasswordErrorTimes}{user.Account}";
|
||||
_sysCacheService.Remove(keyPasswordErrorTimes);
|
||||
|
||||
// 强制账号下线
|
||||
await _sysOnlineUserService.ForceOfflineByUserId(user.Id);
|
||||
|
||||
// 发布重置用户密码事件
|
||||
await _eventPublisher.PublishAsync(UserEventTypeEnum.ResetPwd, input);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user