Я собираюсь сходить с ума и не могу найти никакой достойной информации ВЕЗДЕ..
Существует много информации о подключении к веб-службам SharePoint 3.0 с олицетворением WCF и Ntlm. Однако, когда клиент, обращающийся к службам SharePoint, удален из сети SharePoint и нуждается в аутентификации, как лучше настроить и передать учетные данные службе SharePoint.
Можно ли указать имя пользователя и пароль для Windows локально в поле SharePoint внутри servicemodel.config.. наш экземпляр SharePoint работает как автономный вне домена, который обращается к нему. Поэтому олицетворение не имеет значения, поскольку пользователи домена не существуют в поле sharepoint.
Я пробовал много комбинаций, таких как следующие коды.. однако я неоднократно получаю исключения, такие как:
"HTTP-запрос неавторизован с помощью схемы проверки подлинности клиента" Аноним ". Заголовок аутентификации, полученный с сервера, был" NTLM, Basic realm = "wss.internaldev.local".
Может ли кто-нибудь предоставить пример подключения к веб-службе "remote" SharePoint с учетными данными Windows?
ListsSoapClient proxy = new ListsSoapClient();
proxy.ClientCredentials.Windows.ClientCredential.UserName = "admin_user";
proxy.ClientCredentials.Windows.ClientCredential.Password = "admin_password";
proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Identification;
listItems = proxy.GetListItems(...);
proxy.Close();
Примеры привязки:
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="None" />
</security>
или..
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
поведение:
<behavior name="behavior_WSS">
<clientCredentials>
<windows allowedImpersonationLevel="Impersonation" allowNtlm="true" />
</clientCredentials>
</behavior>
или
<windows allowedImpersonationLevel="Delegation" allowNtlm="true" />