2009-12-10 2 views
0

У нас есть . Элемент управления ActiveX ActiveX, встроенный в пользовательскую страницу SharePoint . Пользователь должен аутентифицировать (Аутентификация Windows не для проверки подлинности форм) для доступа к этой странице.Доступ к данным проверки подлинности SharePoint с помощью элемента управления .NET ActiveX

Наш элемент управления ActiveX делает запросы веб-службы обратно на сервер SharePoint. Поскольку сервер SharePoint не разрешает анонимный доступ, нам необходимо предоставить учетные данные как часть вызова веб-сервисов. Если пользователь проверяет флажок «Запомнить пароль» при запросе учетных данных, мы можем получить доступ к этим учетным данным через CredentialCache.DefaultNetworkCredentials. Однако, если они не проверяют этот флажок, нам нужен другой механизм, чтобы получить правильные учетные данные (они должны существовать, поскольку мы встроены в страницу, к которой можно получить доступ только через аутентификацию).

Как мы можем получить доступ к учетным данным (возможно, хранящимся в файле cookie), которые нам необходимы для аутентификации в SharePoint, чтобы мы могли получить доступ к веб-службам?

+0

Похоже, мы сможем передать куки-файлы из JavaScript в наш контроль и использовать их. –

ответ

0

Существует метод в классе SPUtility EnsureAuthentication, вы также можете нажать на страницу /_layouts/Authenticate.aspx, чтобы автоматически регистрировать пользователя в sharepoint.

Вы также можете заключить свой звонок с помощью Impersonation.

+0

Метод EnsureAuthentication, как представляется, является серверным методом, но мы ищем способ выполнения клиентской стороны внутри нашего элемента управления ActiveX, размещенного на клиентской машине. Что касается Authenticate.asmx, мы ищем механизм для получения учетных данных, которые пользователь уже предоставил при навигации на странице хостинга, и не запрашивать у пользователя учетные данные. –

+0

Я использую аналогичные подходы для доступа к SharePoint из приложения Silverlight. Мой запрос похож на: Silverlight вызывает файл ASHX (под SharePoint), файл ASHX олицетворяет запрос с помощью RunWithElevatedPrivileges и выводит результат. Я отправил вам олицетворение win32, чтобы вы могли создать меньше ориентированный на sharepoint. Идея Authenticate.aspx заключается в том, что запрос получит текущего пользователя и передаст учетную запись Windows и автоматически проверит ее, передав запрос на фактический веб-сервис –

-1

Вы можете отправить сообщение в ваш ashx, как вы делаете это из Silverlight, используя XMLHTP.

+0

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

Смежные вопросы