0
0
فهرست منبع

修复无租户的时候,没有权限数据的问题

zhontai 3 سال پیش
والد
کامیت
4aa495273f
2فایلهای تغییر یافته به همراه10 افزوده شده و 6 حذف شده
  1. 4 1
      Admin.Core.Service/Admin/Auth/AuthService.cs
  2. 6 5
      Admin.Core.Service/Admin/Permission/PermissionService.cs

+ 4 - 1
Admin.Core.Service/Admin/Auth/AuthService.cs

@@ -105,11 +105,14 @@ namespace Admin.Core.Service.Admin.Auth
 
             var authLoginOutput = Mapper.Map<AuthLoginOutput>(user);
 
-            if(_appConfig.TenantDbType == TenantDbType.Share)
+            if(_appConfig.TenantDbType != TenantDbType.None)
             {
                 authLoginOutput.TenantType = await _tenantRepository.Select.DisableGlobalFilter("Tenant").WhereDynamic(user.TenantId).ToOneAsync(a => a.TenantType);
             }
 
+            //登录清空用户缓存
+            await _cache.DelAsync(string.Format(CacheKey.UserInfo, user.Id));
+
             return ResponseOutput.Ok(authLoginOutput);
         }
 

+ 6 - 5
Admin.Core.Service/Admin/Permission/PermissionService.cs

@@ -10,29 +10,30 @@ using Admin.Core.Service.Admin.Permission.Output;
 using Admin.Core.Common.Cache;
 using Admin.Core.Common.Attributes;
 using Admin.Core.Common.BaseModel;
+using Admin.Core.Common.Configs;
 
 namespace Admin.Core.Service.Admin.Permission
 {	
 	public class PermissionService : BaseService,IPermissionService
     {
+        private readonly AppConfig _appConfig;
         private readonly ICache _cache;
         private readonly IPermissionRepository _permissionRepository;
         private readonly IRoleRepository _roleRepository;
         private readonly IRolePermissionRepository _rolePermissionRepository;
-        private readonly IUserRoleRepository _userRoleRepository;
         public PermissionService(
+            AppConfig appConfig,
             ICache cache,
             IPermissionRepository permissionRepository,
             IRoleRepository roleRepository,
-            IRolePermissionRepository rolePermissionRepository,
-            IUserRoleRepository userRoleRepository
+            IRolePermissionRepository rolePermissionRepository
         )
         {
+            _appConfig = appConfig;
             _cache = cache;
             _permissionRepository = permissionRepository;
             _roleRepository = roleRepository;
             _rolePermissionRepository = rolePermissionRepository;
-            _userRoleRepository = userRoleRepository;
         }
 
         public async Task<IResponseOutput> GetAsync(long id)
@@ -229,7 +230,7 @@ namespace Admin.Core.Service.Admin.Permission
         public async Task<IResponseOutput> GetPermissionList()
         {
             var permissions = await _permissionRepository.Select
-                .WhereIf(User.TenantType == TenantType.Tenant, a =>
+                .WhereIf(_appConfig.TenantDbType == TenantDbType.Share, a =>
                     _permissionRepository.Orm.Select<RolePermissionEntity>()
                     .InnerJoin<TenantEntity>((b, c) => b.RoleId == c.RoleId && c.Id == User.TenantId)
                     .DisableGlobalFilter("Tenant")