извлечение документов из sharepoint через веб-сервисы с использованием jquery - PullRequest
0 голосов
/ 01 апреля 2010

Я пытаюсь разработать мобильное приложение, которое может взаимодействовать с сайтом MOSS через веб-сервисы. я ожидаю, что это будет в состоянии;

1) извлечение документов (pdf, doc, docx, excel) 2) получать отчеты служб отчетов в формате PDF или в формате Excel.

Я буду использовать phonegap или rhomobile для разработки этого приложения, и я знаю, что могу использовать веб-сервисы, используя jquery.

Мой вопрос касается безопасности веб-служб MOSS. Как я буду обрабатывать аутентификацию?

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 апреля 2010

Ответ Хьюго может сработать, если ваши пользователи вошли в свои учетные записи AD на мобильных устройствах.

Если это не так, ваши мобильные приложения могут вызывать ваши веб-службы. Ваши веб-службы работают в пуле приложений, который выполняется под именем пользователя, которому разрешено вызывать службы sharepoint.

Затем вы вызываете веб-сервисы sharepoint, используя impersonate = false.

Есть несколько вещей, которые могут создать вам проблемы:

  • Вы должны как-то аутентифицировать своих пользователей, иначе вы откроете свой сайт sharepoint.
  • Существует также проблема отправки двоичных данных через JSON

JSON не имеет <[CDATA []]> особенность, поэтому она не очень подходит для выступать в роли носителя звуков или образов или другие большие двоичные полезные нагрузки. JSON оптимизирован для данных. Кроме того, доставка исполняемых программ в система обмена данными может вводить опасные проблемы безопасности.

http://www.json.org/xml.html

0 голосов
/ 01 апреля 2010

Как работает аутентификация на вашем семействе сайтов MOSS? Это проверка подлинности Windows? Если это так, то вы можете использовать олицетворение при создании Soap Client для доступа к веб-службе:

EndpointAddress endpointAddress = new EndpointAddress("http://site/_vti_bin/Lists.asmx");

//Just create a basicHttpBinding with standard web services settings
SoapClient soapClient = new SoapClient(basicHttpBinding, endpointAddress);

soapClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

Просто убедитесь, что олицетворение разрешено в вашем файле web.config. Ищите узел

<identity impersonate="true" />
...