Олицетворение в DevOps

Я использую клиентскую библиотеку TFS/DevOps .Net (на основе мыла) для взаимодействия с DevOps.

Однако у меня возникают проблемы, чтобы выдать себя за другого пользователя, и DevOps всегда возвращает мне ошибку:

Пользователю UserX требуются следующие разрешения для выполнения этого действия: отправлять запросы от имени других

Это несмотря на то, что я назначил это разрешение пользователю в одной из групп сбора в настройках организации в DevOps. Я даже добавил этого пользователя в качестве члена Администратора коллекций проектов.

Есть ли какие-либо другие разрешения, которые мне нужно предоставить, или есть определенная группа сбора, где мне нужно назначить это разрешение?

Изменить, чтобы добавить коды. Ниже приведены коды, которые я использую. Дополнительное примечание: код отлично работает с предварительной версией TFS, и я использую PAT для аутентификации. Пользователь, которого мы пытаемся выдать за себя, - это пользователь в нашей Azure AD. Это просто не сработает, когда мы попробуем с DevOps. Код не сработает на втором EnsureAuthenticated() вызов:

var configurationServer = new TfsConfigurationServer(new Uri("https://xxxx"),
    new VssCredentials(new VssBasicCredential(
        string.Empty,
        "xxxxxx"
)));

configurationServer.EnsureAuthenticated();

var identityService = configurationServer.GetService<IIdentityManagementService>();

// Look up the user that we want to impersonate
TeamFoundationIdentity identity = identityService.ReadIdentity(
        IdentitySearchFactor.AccountName, "xx@xx.xxx", MembershipQuery.None, ReadIdentityOptions.None);

var impersonatedconfigurationServer = new TfsConfigurationServer(new Uri("https://xxxx"),
    new VssCredentials(new VssBasicCredential(
        string.Empty,
         "xxxxxx"
    )), identity.Descriptor);

impersonatedconfigurationServer.EnsureAuthenticated();

Благодарю.

0 ответов

Другие вопросы по тегам