public async Task <ListResultDto <PermissionDto> > GetTenantPermissionsAsync(int tenantId) { Tenant tenant = await _tenantManager.GetAvailableTenantById(tenantId); using (CurrentUnitOfWork.SetTenantId(tenantId)) { // TODO: Investigate why Permission.GetAllPermission() result not filtered by tenant PermissionManager permissionManager = new PermissionManager(_iocManager, _authorizationConfiguration, UnitOfWorkManager); permissionManager.Initialize(); var permissions = permissionManager.GetAllPermissions(); return(new ListResultDto <PermissionDto>( ObjectMapper.Map <List <PermissionDto> >(permissions).OrderBy(p => p.DisplayName).ToList())); } }
/// <summary> /// 运维专用:对指定租户添加一个角色 /// </summary> /// <param name="tenantId"></param> /// <param name="input"></param> /// <returns></returns> public async Task <RoleDto> CreateRoleInTenantAsync(int tenantId, CreateRoleDto input) { var role = ObjectMapper.Map <Role>(input); role.SetNormalizedName(); var tenant = await _tenantManager.GetAvailableTenantById(tenantId); using (CurrentUnitOfWork.SetTenantId(tenantId)) { await _roleManager.CreateAndGrantPermissionAsync(role, input.GrantedPermissions); } return(ObjectMapper.Map <RoleDto>(role)); }