Веб-обработчик ASP.Net UNC против пути к файлу - PullRequest
1 голос
/ 27 июня 2011

У меня есть веб-обработчик, который я использую, чтобы прочитать файл и затем передать его клиенту.Это прекрасно работает, если я использую путь к файлу на локальном диске: D: \ Path \ To \ My \ File.flv

Однако, если я использую Sharename: \ ServerName \ ShareName \ File.flv

Я получаю сообщение «Ошибка входа: неизвестное имя пользователя или неверный пароль».

Общий ресурс открыт для всех, полный контроль.

У меня включена олицетворение, и вмой обработчик:

context.Response.Write("Context User: " + ((WindowsIdentity)context.User.Identity).Name + "<br />");
context.Response.Write("Windows Identity: " + WindowsIdentity.GetCurrent().Name + "<br />");

Когда я настраиваю приложение IIS для работы с анонимным доступом с использованием определенной учетной записи, я получаю следующий

Context Пользователь: Windows Identity: SpecificAccount

Когда я настраиваю IIS, чтобы не использовать анонимный доступ, но использовать проверку подлинности Windows, я получаю

Context Пользователь: MyAccount Идентификатор Windows: MyAccount

Это не изменяет сообщение об ошибке для общего ресурса по сравнению сnonshare.

Я нахожу эту веб-страницу, касающуюся веб-обработчиков и олицетворения: http://weblogs.asp.net/drnetjes/archive/2005/06/06/410508.aspx

, но я не совсем уверен, как это реализовать, или, если это вообще решит проблему.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 июля 2011

Ха-ха ... Я ненавижу отвечать на свои вопросы, но вот в чем проблема:

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

Решением была (facepalm) перезагрузка сервера.

Прошу прощения за все умственные способности, которые 60 странных людей потратили на это.

Еще раз спасибо за вашу помощь.

Глупый IIS ... Глупая Windows 2003 ... должна когда-нибудь перестроить сервер

0 голосов
/ 26 июля 2011

В вышеприведенном посте это просто, но вы ставите \ServerName\ShareName\File.flv

, если это не \\ServerName\ShareName\File.flv

в худшем случае, вы можете использовать file://ServerName/ShareName/File.flv, но учтите, чтодля локальных файлов вы должны использовать сокращение file:///C:/path/File.flv.(см. Википедия )

...