ソースを参照

优化租户角色授权菜单问题等

zuohuaijun 3 年 前
コミット
276f806332

+ 3 - 3
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -1854,17 +1854,17 @@
         </member>
         <member name="F:Admin.NET.Core.ErrorCodeEnum.D1019">
             <summary>
-            禁止删除系统管理员角色(sys_manager_role)
+            禁止删除系统管理员角色
             </summary>
         </member>
         <member name="F:Admin.NET.Core.ErrorCodeEnum.D1020">
             <summary>
-            禁止修改系统管理员角色(sys_manager_role)
+            禁止修改系统管理员角色
             </summary>
         </member>
         <member name="F:Admin.NET.Core.ErrorCodeEnum.D1021">
             <summary>
-            禁止为系统管理员角色(sys_manager_role)分配权限
+            禁止为系统管理员角色分配权限
             </summary>
         </member>
         <member name="F:Admin.NET.Core.ErrorCodeEnum.D1022">

+ 4 - 4
Admin.NET/Admin.NET.Core/Const/CommonConst.cs

@@ -13,22 +13,22 @@ public class CommonConst
     /// <summary>
     /// 系统管理员角色编码
     /// </summary>
-    public const string SysAdminRoleCode = "SysAdminRoleCode";
+    public const string SysAdminRoleCode = "sys_admin_role";
 
     /// <summary>
     /// 演示环境开关配置
     /// </summary>
-    public const string SysDemoEnv = "SysDemoEnv";
+    public const string SysDemoEnv = "sys_demo_env";
 
     /// <summary>
     /// 验证码开关配置
     /// </summary>
-    public const string SysCaptchaFlag = "SysCaptchaFlag";
+    public const string SysCaptchaFlag = "sys_captcha_flag";
 
     /// <summary>
     /// 开启操作日志配置
     /// </summary>
-    public const string SysOpLogFlag = "SysOpLog";
+    public const string SysOpLogFlag = "sys_op_log";
 
     /// <summary>
     /// 实体所在程序集-代码生成

+ 6 - 6
Admin.NET/Admin.NET.Core/Enum/ErrorCodeEnum.cs

@@ -121,21 +121,21 @@ public enum ErrorCodeEnum
     D1018,
 
     /// <summary>
-    /// 禁止删除系统管理员角色(sys_manager_role)
+    /// 禁止删除系统管理员角色
     /// </summary>
-    [ErrorCodeItemMetadata("禁止删除系统管理员角色(sys_manager_role)")]
+    [ErrorCodeItemMetadata("禁止删除系统管理员角色")]
     D1019,
 
     /// <summary>
-    /// 禁止修改系统管理员角色(sys_manager_role)
+    /// 禁止修改系统管理员角色
     /// </summary>
-    [ErrorCodeItemMetadata("禁止修改系统管理员角色(sys_manager_role)")]
+    [ErrorCodeItemMetadata("禁止修改系统管理员角色")]
     D1020,
 
     /// <summary>
-    /// 禁止为系统管理员角色(sys_manager_role)分配权限
+    /// 禁止为系统管理员角色分配权限
     /// </summary>
-    [ErrorCodeItemMetadata("禁止为系统管理员角色(sys_manager_role)分配权限")]
+    [ErrorCodeItemMetadata("禁止为系统管理员角色分配权限")]
     D1021,
 
     /// <summary>

+ 3 - 1
Admin.NET/Admin.NET.Core/Filter/LogExceptionHandler.cs

@@ -1,4 +1,6 @@
-namespace Admin.NET.Core;
+using Serilog;
+
+namespace Admin.NET.Core;
 
 /// <summary>
 /// 全局异常处理

+ 0 - 1
Admin.NET/Admin.NET.Core/GlobalUsings.cs

@@ -25,7 +25,6 @@ global using Microsoft.Extensions.Caching.Distributed;
 global using Microsoft.Extensions.Configuration;
 global using Microsoft.Extensions.DependencyInjection;
 global using Microsoft.Extensions.Options;
-global using Serilog;
 global using SKIT.FlurlHttpClient;
 global using SKIT.FlurlHttpClient.Wechat.Api;
 global using SKIT.FlurlHttpClient.Wechat.Api.Models;

+ 8 - 4
Admin.NET/Admin.NET.Core/Service/Role/SysRoleService.cs

@@ -52,12 +52,12 @@ public class SysRoleService : IDynamicApiController, ITransient
     [HttpGet("/sysRole/list")]
     public async Task<List<RoleOutput>> GetRoleList()
     {
-        // 若非超级管理员则只取拥有角色Id集合
-        var roleIdList = _userManager.SuperAdmin ? new List<long>() :
-            await _sysUserRoleService.GetUserRoleIdList(_userManager.UserId);
+        //// 若非超级管理员则只取拥有角色Id集合
+        //var roleIdList = _userManager.SuperAdmin ? new List<long>() :
+        //    await _sysUserRoleService.GetUserRoleIdList(_userManager.UserId);
 
         return await _sysRoleRep.AsQueryable()
-            .WhereIF(roleIdList.Count > 0, u => roleIdList.Contains(u.Id))
+            //.WhereIF(roleIdList.Count > 0, u => roleIdList.Contains(u.Id))
             .OrderBy(u => u.Order).Select<RoleOutput>().ToListAsync();
     }
 
@@ -130,6 +130,10 @@ public class SysRoleService : IDynamicApiController, ITransient
     [HttpPost("/sysRole/grantMenu")]
     public async Task GrantRoleMenu(RoleMenuInput input)
     {
+        var role = await _sysRoleRep.GetFirstAsync(u => u.Id == input.Id);
+        if (!_userManager.SuperAdmin && role.Code == CommonConst.SysAdminRoleCode)
+            throw Oops.Oh(ErrorCodeEnum.D1021);
+
         await _sysRoleMenuService.GrantRoleMenu(input);
     }
 

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -93,7 +93,7 @@ public class SysTenantService : IDynamicApiController, ITransient
         var newRole = new SysRole
         {
             TenantId = tenantId,
-            Code = "sys_manager_role",
+            Code = CommonConst.SysAdminRoleCode,
             Name = "系统管理员",
             DataScope = DataScopeEnum.All
         };

+ 1 - 1
Vben2/src/views/sys/admin/role/GrantDataDrawer.vue

@@ -61,7 +61,7 @@
                 InitOwnOrgData(e);
               },
             },
-            //colProps: { span: 8 },
+            colProps: { span: 24 },
             required: true,
           },
           {

+ 2 - 0
Vben2/src/views/sys/admin/role/role.data.ts

@@ -118,6 +118,8 @@ export const formSchema: FormSchema[] = [
     label: '角色编码',
     component: 'Input',
     colProps: { span: 24 },
+    //ifShow: ({ values }) => values.code != 'sys_admin_role',
+    dynamicDisabled: ({ values }) => values.code == 'sys_admin_role',
   },
   {
     field: 'status',