Как открыть страницу Sharepoint, предоставив учетные данные пользователя в молчании - PullRequest
0 голосов
/ 14 января 2011

Я хочу открыть собственную страницу SharePoint 2010 из моего приложения (например, страницу редактирования свойств документа) без необходимости ввода имени пользователя / пароля, но вместо этого для аутентификации в режиме без вывода сообщений (до или во время запроса страницы).это возможно?

Другими словами, у меня есть приложение для форм Windows, я ввожу путь к документу sharepoint и нажимаю на кнопку, это откроет форму Windows с элементом управления браузером, который перейдет кродная страница "editform.aspx" sharepoint 2010 для этого документа. Есть ли способ аутентификации пользователя без необходимости ввода его учетных данных?

Спасибо,

Ответы [ 2 ]

1 голос
/ 14 января 2011

Невозможно передать учетные данные при первом посещении сайта SharePoint.Но если вы используете опцию аутентификации, которая позволяет сохранять (особенно NTML), а настройки браузера пользователя позволяют сохранять пароли, то последующие входы будут автоматически.Это было бы то же самое, если бы они открывали браузер и переходили непосредственно к URL-адресу EditForm.aspx.

В IE вы можете установить настройки «Автоматический вход» в «Дополнительные параметры».Он обрабатывает URL-адреса по-разному в зависимости от зоны, поэтому было бы проще, если бы ваша страница находилась в «зоне интрасети» пользователя.

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

0 голосов
/ 15 января 2011

Вы можете попробовать установить свойство PreAuthenticate в WebRequest (которое, я предполагаю, вы используете).Хотя я должен признать, что видел подобные вопросы со смешанными результатами.Получаемый вами экран запроса на вход в систему присущ NTLM:

со страницы вики NTLM :

"Сначала клиент устанавливает сетевой путь к серверуи отправляет NEGOTIATE_MESSAGE, объявляя о своих возможностях. [11] Далее сервер отвечает CHALLENGE_MESSAGE, который используется для установления личности клиента. [12] Наконец, клиент отвечает на запрос AUTHENTICATE_MESSAGE ".

И еще о PreAuthenticate (MSDN) :

"За исключением первого запроса, свойство PreAuthenticate указывает, отправлять ли данные аутентификации с последующими запросами без ожиданияна вызов серверу. Если PreAuthenticate имеет значение false, WebRequest ожидает запроса аутентификации, прежде чем отправлять информацию аутентификации. "

Делая то, что предложил Питер (добавление сайта в зону интрасети IE означает, что выучетные данные будут кэшироваться, а веб-запрос используетSE кэширует запросы и учитывает настройки в IE.

...