ASP.NET Forms аутентификация и вызов веб-службы - PullRequest
1 голос
/ 24 июня 2011

У меня есть приложение ASP.NET, которое использует проверку подлинности с помощью форм.

Мне нужно вызвать веб-сервис Sharepoint search.asmx, чтобы получить список файлов из сети, удовлетворяющих критериям поиска (есть веская причиная делаю это вне Sharepoint)

Я не уверен в информации о безопасности, которая мне нужна для передачи search.asmx.Я пытался: queryService.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials queryService.ClientCredentials.Windows.AllowedImpersonationLevel = Security.Principal.TokenImpersonation * уровень *1002* мое развитиепользователь имеет доступ к файлу, к которому Sharepoint обращается.То, что я не могу понять и не могу понять из отладки или средств просмотра событий и т. Д., Это то, что учетные данные передаются в приведенном выше коде после развертывания этого кода на сервере.

Будет ли он передавать учетные данные Windowsпользователя, который открыл окно IE до использования аутентификации форм.Будет ли он передавать учетные данные учетной записи, на которой запущены компоненты asp.net, т. Е. Учетной записи AppPool, в которой я работаю, или он будет передавать что-то еще?

Я не могу получить Sharepoint длявернуть любые файлы, и я думаю, это потому, что передаваемые учетные данные не имеют доступа к общей папке.

Спасибо, Энди

1 Ответ

1 голос
/ 24 июня 2011

Чтобы это работало быстро, вы можете получить доступ к веб-сервисам SharePoint под своим именем пользователя и паролем.Очевидно, это не лучшее решение в долгосрочной перспективе.

Задайте для свойства Credentials на прокси-сервере веб-службы SharePoint свои имя пользователя и пароль:

spProxy.Credentials = new NetworkCredential("username", "password", "domain");

Вам необходимо убедиться, что учетные данныесвойство устанавливается перед вызовом веб-службы.

Я не эксперт по SharePoint (я использовал его только в качестве разработчика), но я считаю, что он использует только проверку подлинности Windows для защиты веб-служб.Таким образом, аутентификация с помощью форм не поможет вам, если вы хотите получить доступ к веб-сервисам как вошедший в систему пользователь (если только вы не проверяете имя пользователя и пароль вручную с помощью LDAP).ASP.NET олицетворение и делегирование имеет смысл, только если вы используете проверку подлинности Windows.

Как указано псевдокодером, вы можете настроить специальную учетную запись для доступа к SharePoint с веб-сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...