Разрешения для учетной записи IIS - PullRequest
1 голос
/ 14 ноября 2008

У меня есть веб-сервис, работающий под sharepoint, на стандартной установке Server2003 / IIS6. Этот веб-сервис должен открыть и прочитать файл из общего ресурса на другом компьютере в том же домене. На данный момент я получаю

System.UnauthorizedAccessException: доступ к пути '\ strand \ DROPBOXES \ MattTrinder \ SharepointShared \ bd116dfa-be0e-4c58-93e6-3fb93fa0ef22.tmp' запрещен. в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath)

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

Использование "\\ sharepointserver \ c $" работает нормально ...

Спасибо

Мэтт

Ответы [ 3 ]

3 голосов
/ 14 ноября 2008

Учетная запись, к которой вы предоставляете доступ, также должна существовать на целевом сервере (где существует общий ресурс) (либо в той же учетной записи домена, либо в локальной учетной записи с тем же паролем). Поскольку пользователь IIS обычно имеет автоматически сгенерированный пароль и является локальным, это сложно.

Способ, которым мы решаем эту проблему, заключается в том, чтобы запустить веб-сайт от имени другого пользователя (которого мы создали сами) и предоставить этому пользователю разрешения на доступ к общему ресурсу на удаленном ПК. Обратите внимание, что должны быть правильными как разрешения общего доступа, так и разрешения файловой системы.

2 голосов
/ 14 ноября 2008

Вам необходимо предоставить доступ на чтение на уровне файловой системы и в общем ресурсе. Проблема в том, что sharepoint работает (возможно, потому что его можно изменить) под учетной записью сетевой службы, которая не имеет доступа к сети.

Параметры:

  • Если вы используете встроенную аутентификацию для веб-службы. Затем вы должны предоставить разрешения пользователям, под которыми работает клиент веб-службы. Но не идите этим темным путем. Потому что делегирование очень сложно настроить.
  • Если у вас есть анонимный доступ к веб-службе, убедитесь, что пул приложений, под которым работает веб-служба, запускается с разрешения пользователя явного пользователя, имеющего доступ к указанному файлу. Это можно настроить на сайте администрирования sharepoint. Или с компьютерным управлением mmc.
1 голос
/ 14 ноября 2008

Классические веб-службы asmx по умолчанию запускаются как учетная запись IUSR_. Это может не иметь разрешения для доступа к сетевому пути. Вы можете изменить это на учетную запись домена, изменив удостоверение пула приложений.

...