2009-10-16 5 views

ответ

4

Возможно, проблема связана с характером UNC пути, к которому вы пытаетесь получить доступ, но с учетными данными безопасности. Если, например, вы запускаете приложение asp.net под учетной записью «Система», вы не сможете получить доступ к сетевым ресурсам, потому что система является локальной учетной записью (а не учетной записью домена).

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

enter image description here

1

Счет «отвечают», когда запрос доступа к файлу выдается просто должен отсутствовать учетные данные для доступа к общему ресурсу/найденный на месте UNC.

Прежде всего, вам нужно определить, какая учетная запись используется эффективно, так как это может отличаться и предоставлять соответствующие привилегии. По умолчанию большинство программ, в том числе .NET-программ (в меньшей степени), будут выполняться в контексте безопасности учетной записи, которая запускала программу, однако во многих ситуациях это не выполняется, например, если программа является сервисом рода , или если он использует некоторые объекты DCOM, или если он олицетворяет некоторые другие учетные записи и т. д. Также .NET имеет относительно сложную систему делегирования/олицетворения.

Одним из способов диагностики этой проблемы является добавление аудита на уровне каталога UNC /. После отказа это приведет к событию, которое должно показать имя входа в учетную запись, которая пыталась получить доступ к ресурсу.

1

Решение находится под олицетворением и делегированием функций asp.net. Существуют определенные конструкции, которые обеспечивают схему безопасности на основе токенов для вызова операции file.copy, например, с целью, являющейся местом UNC. Вы можете проверить его here.