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