Права доступа к файлам WCF?
-
09-09-2019 - |
Вопрос
У меня есть веб-служба WCF, которую я размещаю в IIS (фактически запущенная на веб-узле Visual Studio, т. е.Кассини).
У меня есть файл, к которому я должен получить доступ в корне веб-каталога из службы, и у меня возникают проблемы с определением идентификатора пользователя, от имени которого служба обращается к каталогу.Я дал разрешение ASPNET, СЕТЕВОЙ СЛУЖБЕ и IUSR, но, похоже, ни одно из них не работает.
Кто-нибудь знает, что это за пользователь, от имени которого запускается служба WCF, когда она размещена в IIS?
Подробная информация:
Действительно, служба WCF запущена от моего имени (моя учетная запись Windows), но по какой-либо причине она по-прежнему не может открыть файл в своем корневом каталоге.Сбой файла с надписью "Доступ запрещен".Я предоставил "Всем" полный контроль над папкой, и, похоже, это не имеет значения.
Решение 2
Хорошо ... разобрался с проблемой.Оказывается, файл, который я пытался открыть, был помечен как доступный только для чтения, поэтому .NET не смог открыть его для записи.Переданный доступ к файлу.Прочитайте файл.Метод Open(), и теперь он открывается нормально.
Не связанный с самим WCF.
Другие советы
Если вы запускаете yr serive с помощью Cassini, то это будет пользователь, который вошел в систему на этом компьютере.Так что, вероятно, ваше имя пользователя, которое вы использовали для входа на этот компьютер.Дайте этому пользователю разрешение на чтение файла и попробуйте его.
В IIS это зависит от конфигурации вашего приложения.Вы можете создать пул приложений под любой учетной записью пользователя и запустить любое приложение, используя этот пул.Пользователь по умолчанию в IIS - это СЕТЕВЫЕ СЛУЖБЫ.