/// <summary> /// 根据用户Id获取用户具有的菜单权限 /// </summary> /// <param name="userId"></param> /// <returns></returns> public async Task <IEnumerable <TreeEntity> > GetSystemPermissionMenuByUserId(Guid userId) { IList <TreeEntity> treeEntities = new List <TreeEntity>(); //判断该用户是否为超级管理员:若是超级管理员则显示所有菜单 var userInfo = await _userInfoRepository.GetByIdAsync(userId); if (userInfo != null) { //如果是超级管理员 if (userInfo.IsAdmin) { treeEntities = (await _menuRepository.GetAllMenu(true, true)).ToList(); return(treeEntities); } treeEntities = (await _permissionRepository.GetSystemPermissionMenuByUserId(userId)).ToList(); } return(treeEntities); }
/// <summary> /// 根据用户id获取具有权限的菜单 /// </summary> /// <param name="userId"></param> /// <returns></returns> public async Task <IEnumerable <TreeEntity> > GetSystemPermissionMenuByUserId(Guid userId) { IList <TreeEntity> treeEntities = new List <TreeEntity>(); string cacheKey = USER_MENU_CACHE_KEY + userId; treeEntities = this._cache.Get <List <TreeEntity> >(cacheKey); if (treeEntities == null) { var userInfo = await _userRepository.GetById(userId); //判断当前用户是否是超级管理员:若是超级管理员则显示所有菜单 if (userInfo != null) { //如果是超级管理员 if (userInfo.IsAdmin) { treeEntities = (await _menuRepository.GetAllMenu(true, true)).ToList(); return(treeEntities); } treeEntities = (await _systemPermissionRepository.GetSystemPermissionMenuByUserId(userInfo.UserId)).ToList(); } } return(treeEntities); }