/// <summary> /// 获取用户的角色权限 /// </summary> /// <param name="userId"></param> /// <returns></returns> private async Task <List <string> > GetRolePermission(string userId) { var key = CacheConstantKey.Create(CacheConstantKey.PERMISSION_ROLE_PERMISSION, userId); if (redisCacheManager.Exists(key)) { return(redisCacheManager.Get(key).Split(",").ToList()); } List <string> userRoles = await GetUserRole(userId); List <string> rolePermissions = new List <string>(); foreach (var item in await sysRolePermissionRepository.QueryAsync(w => userRoles.Contains(w.RoleID.ToString()))) { rolePermissions.Add(item.PermissionID.ToString()); } redisCacheManager.Set(key, string.Join(",", rolePermissions)); return(rolePermissions); }