Example #1
0
        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()));
            }
        }
Example #2
0
        /// <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));
        }