From f4f0243d21e2bbce279ae6d4e11cf0cc6cb0fa4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Tue, 26 Apr 2022 13:47:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=E5=88=A0=E9=99=A4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=90=8E=E9=83=A8=E9=97=A8=E3=80=81=E7=94=A8=E6=88=B7=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=95=B0=E6=8D=AE=E6=9C=AA=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Repository/System/SysUserRepository.cs | 2 +- ZR.Service/System/IService/ISysUserService.cs | 2 ++ ZR.Service/System/SysUserService.cs | 34 ++++++++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/ZR.Repository/System/SysUserRepository.cs b/ZR.Repository/System/SysUserRepository.cs index 10fb800..6b9fa61 100644 --- a/ZR.Repository/System/SysUserRepository.cs +++ b/ZR.Repository/System/SysUserRepository.cs @@ -63,7 +63,7 @@ namespace ZR.Repository.System /// public SysUser SelectUserById(long userId) { - return Context.Queryable().Where(f => f.UserId == userId).First(); + return Context.Queryable().Filter(null, true).Where(f => f.UserId == userId).First(); } /// diff --git a/ZR.Service/System/IService/ISysUserService.cs b/ZR.Service/System/IService/ISysUserService.cs index 35848e5..8f2997b 100644 --- a/ZR.Service/System/IService/ISysUserService.cs +++ b/ZR.Service/System/IService/ISysUserService.cs @@ -68,5 +68,7 @@ namespace ZR.Service.System.IService /// /// SysUser Register(RegisterDto dto); + void CheckUserAllowed(SysUser user); + void CheckUserDataScope(long userid, long loginUserId); } } diff --git a/ZR.Service/System/SysUserService.cs b/ZR.Service/System/SysUserService.cs index daa2202..c9a6b0f 100644 --- a/ZR.Service/System/SysUserService.cs +++ b/ZR.Service/System/SysUserService.cs @@ -1,5 +1,6 @@ using Infrastructure; using Infrastructure.Attribute; +using Microsoft.AspNetCore.Http; using System; using System.Collections; using System.Collections.Generic; @@ -144,10 +145,15 @@ namespace ZR.Service /// /// 删除用户 /// - /// + /// /// public int DeleteUser(long userid) { + CheckUserAllowed(new SysUser() { UserId = userid}); + //删除用户与角色关联 + UserRoleService.DeleteUserRoleByUserId((int)userid); + // 删除用户与岗位关联 + UserPostService.Delete(userid); return UserRepository.DeleteUser(userid); } @@ -189,5 +195,31 @@ namespace ZR.Service return user; } + /// + /// 校验角色是否允许操作 + /// + /// + public void CheckUserAllowed(SysUser user) + { + if (user.IsAdmin()) + { + throw new CustomException("不允许操作超级管理员角色"); + } + } + + /// + /// 校验用户是否有数据权限 + /// + /// + /// + public void CheckUserDataScope(long userid, long loginUserId) + { + if (!SysUser.IsAdmin(loginUserId)) + { + SysUser user = new SysUser() { UserId = userid}; + + //TODO 判断用户是否有数据权限 + } + } } }