Преглед изворни кода

修复 平台设置权限没有显示全部权限的问题
修复 用户登录权限显示权限过多的问题
修复 数据包data.json遗漏租户字段租户类型的问题

zhontai пре 3 година
родитељ
комит
a23a2a2e07

+ 3 - 3
Admin.Core.Services/Admin/Auth/AuthService.cs

@@ -134,9 +134,9 @@ namespace Admin.Core.Service.Admin.Auth
             //用户菜单
             var menus = await _permissionRepository.Select
                 .Where(a => new[] { PermissionType.Group, PermissionType.Menu }.Contains(a.Type))
-                .WhereIf(User.TenantType == TenantType.Tenant, a =>
-                    _permissionRepository.Orm.Select<RolePermissionEntity>().DisableGlobalFilter("Tenant")
-                    .InnerJoin<TenantEntity>((b, c) => b.RoleId == c.RoleId && c.Id == User.TenantId)
+                .Where(a =>
+                    _permissionRepository.Orm.Select<RolePermissionEntity>()
+                    .InnerJoin<UserRoleEntity>((b, c) => b.RoleId == c.RoleId && c.UserId == User.Id)
                     .Where(b => b.PermissionId == a.Id)
                     .Any()
                 )

+ 4 - 2
Admin.Core.Services/Admin/Permission/PermissionService.cs

@@ -11,6 +11,7 @@ using Admin.Core.Service.Admin.Permission.Output;
 using Admin.Core.Common.Cache;
 using Admin.Core.Common.Attributes;
 using Admin.Core.Common.Helpers;
+using Admin.Core.Common.BaseModel;
 
 namespace Admin.Core.Service.Admin.Permission
 {	
@@ -233,9 +234,10 @@ namespace Admin.Core.Service.Admin.Permission
         public async Task<IResponseOutput> GetPermissionList()
         {
             var permissions = await _permissionRepository.Select
-                .Where(a =>
+                .WhereIf(User.TenantType == TenantType.Tenant, a =>
                     _permissionRepository.Orm.Select<RolePermissionEntity>()
-                    .InnerJoin<UserRoleEntity>((b, c) => b.RoleId == c.RoleId && c.UserId == User.Id)
+                    .InnerJoin<TenantEntity>((b, c) => b.RoleId == c.RoleId && c.Id == User.TenantId)
+                    .DisableGlobalFilter("Tenant")
                     .Where(b => b.PermissionId == a.Id)
                     .Any()
                 )

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
Admin.Core/Db/Data/data.json


+ 1 - 0
Admin.Core/Db/DbHelper.cs

@@ -565,6 +565,7 @@ namespace Admin.Core.Db
                     a.RealName,
                     a.Phone,
                     a.Email,
+                    a.TenantType,
                     a.DbType,
                     a.ConnectionString,
                     a.IdleTime,

Неке датотеке нису приказане због велике количине промена