2009-02-13 5 views
0

У меня есть приложение ASP.NET, которое пытается удалить файл в сетевой папке. Рабочий процесс приложения ASP.NET работает под учетной записью домена (подтвердил это, посмотрев в TaskManager и используя ShowContexts2.aspx¹).Исключение, когда ASP.NET пытается удалить сетевой файл

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

Однако, он не в состоянии сделать это, и вместо этого я получаю исключение (изменил путь к файлу для всех х годов):

System.Web.HttpUnhandledException: исключение типа «System.Web. HttpUnhandledException ". ---> System.UnauthorizedAccessException: доступ к пути '\ xxxxxxx \ xxxxxxx \ xxxxxxx \ xxxxxx.xxx' отклоняется.

Любые идеи о том, как диагностировать/исправить эту проблему?

¹ http://www.leastprivilege.com/ShowContextsNET20Version.aspx

ответ

0

Убедитесь, что ваш рабочий процесс ASP.NET имеет доступ к указанному пути к файлу.

Вы можете попробовать предоставить доступ «полный контроль» к «каждому», а затем отбирать обратно доступ, пока он не будет работать с разрешениями, которые вы хотите.

0

Уверен, похоже, что вы не работаете в надлежащем контексте.

Предлагается использовать другой способ (гораздо более безопасный способ) - запустить под учетной записью по умолчанию и отобразить сетевой диск с помощью окна Windows API WNetAddConnection2. Используя этот API, вы не изменяете контекст, которым работает ASP.net, вы просто сопоставляете подключение к диску. Вы можете указать либо учетную запись домена, либо локальную учетную запись. Вы можете на самом деле сопоставить букву диска, или можете просто аутентифицироваться на общий ресурс накопителя без сопоставления буквы.

Я использовал этот API от asp.net более одного раза, и он работает красиво. Поскольку вы не предоставляете расширенные привилегии ASP.net, это намного безопаснее.

Более подробную информацию о API WNetAddConnection2:

http://msdn.microsoft.com/en-us/library/aa385413(VS.85).aspx

Смежные вопросы