У меня проблема с получением сообщения об ошибке отказа в доступе при попытке доступа к папке через UNC на другом компьютере из веб-приложения, работающего в IIS. Теперь я уверен, что вы думаете, как и я, это определенно проблема с разрешениями, однако произошло следующее:
Procmon показывает ошибку отказа в доступе при доступе к этому файлу, подробности того, что он запрашивает, приведены ниже:
Operation: Create File
Result: ACCESS DENIED
Desired Access: Generic Read
Disposition: Open
Options: Synchronous IO Non-Alert
Attributes: N
ShareMode: Read, Write, Delete
AllocationSize: n/a
Impersonating: domain\user
По сути, приложение просто пытается читать из этой папки, не более того (операция создания файла фактически создает только дескриптор этого файла).
В журнале безопасности файлового сервера нет событий, указывающих на ошибку отказа в доступе.
редактировать
Для UNC-доступа настроено делегирование (что позволяет пользователю пула приложений делегировать полномочия службам HOST и CIFS на файловом сервере), и использование Deleconfig подтверждает, что это должно работать, но это не так. Однако разрешение пользователю пула приложений делегировать полномочия любой службе (Kerberos) работает. Насколько мне известно, HOSTS и CIFS были единственными службами, необходимыми для делегирования доступа к файловому серверу, поэтому я не уверен, к какой дополнительной службе ему нужен доступ.
Это от procmon, запущенного на удаленной машине?
Если да, это означает, что олицетворение было успешным (поскольку оно определяет правильный домен \ пользователя, верно?), Поэтому это не проблема делегирования с проверкой подлинности Windows.
Если нет, то, вероятно, это проблема делегирования аутентификации Windows; попробуйте DelegConfig.
Если приложение создает собственное соединение с помощью \ server \ share - т.е. это не папка в IIS, сопоставленная с этим расположением - тогда могут присутствовать дополнительные тонкости в зависимости от структуры приложения и способа его программирования.
Не можете вспомнить, разрешает ли IIS спецификации доступа UNC?
Возможно, эту область нужно назначить букве диска для доступа к IIS.