Надстройка Word: получение учетных данных пользователя, которые были использованы для открытия документа из SharePoint

Мы разрабатываем надстройку Word на C# и WPF.

Документы открываются из SharePoint, которые живут в другом домене, и обрабатываются с помощью надстройки. Когда документ открывается, MS Word запрашивает учетные данные для домена SharePoint.

В надстройке Word мне нужно получить эти учетные данные или маркер безопасности, чтобы установить его с помощью SharePoint.

Когда я пытаюсь использовать CredentialsCache с C#, я получаю учетные данные для локальной учетной записи Windows/домена, но не для учетной записи домена Sharepoint.

Я понимаю, что Word хранит учетные данные для SharePoint, так как я могу зарегистрировать/проверить и сохранить без повторного ввода пароля.

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

4
nl ja de

1 ответы

Если вызываемая веб-служба использует интегрированную защиту для Windows, создание NetworkCredential из текущего WindowsIdentity должно быть достаточным, чтобы веб-служба могла использовать текущий вход в Windows. Однако, если веб-служба использует другую модель безопасности, нет никакого способа извлечь пароль пользователя из текущей идентификации ... которая сама по себе будет небезопасной, что позволит вам, разработчику, украсть ваши пароли пользователей , Вероятно, вам нужно будет предоставить какой-то способ для вашего пользователя предоставить свой пароль и сохранить его в каком-то защищенном кеше, если вы не хотите, чтобы они неоднократно предоставляли его.

Изменить. Чтобы получить учетные данные для текущего идентификатора, используйте следующее:

Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");
1
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot