Файлы доступа ASP.NET в общей папке другого компьютера - PullRequest
0 голосов
/ 05 мая 2010

У меня есть проект ASP.NET, который делает доступ к файлам и манипулирует ими, методы, которые я использую для доступа к файлам, приведены ниже Теперь мне нужно получить доступ к файлам в общей папке другого сервера, как это сделать? Я легко могу изменить путь к файлу общей папки, но получаю ошибку «не могу получить доступ», потому что общие ресурсы защищены паролем. Как я понимаю, мне нужно как-то отправить учетные данные на удаленный сервер, прежде чем выполнять методы ниже. Как это сделать?

FileStream("c:\MyProj\file.doc", FileMode.OpenOrCreate, FileAccess.Write)
Context.Response.TransmitFile("c:\MyProj\file.doc");

С уважением, Tomas

1 Ответ

2 голосов
/ 05 мая 2010

Приложение ASP.NET (по умолчанию) будет выполняться в IIS6 под учетной записью компьютера «ASPNET». Поэтому у вас есть несколько вариантов:

  • Настройка приложения ASPNET для запуска под (слабой) учетной записью домена с разрешениями на доступ к общему ресурсу удаленного компьютера
  • Установите разрешения для общего ресурса, чтобы разрешить доступ к «Всем» (не рекомендуется)
  • Отключите проверку подлинности с помощью форм и используйте проверку подлинности Windows в приложении ASP.NET. Отключите олицетворение в web.config, и IIS должен передать учетные данные пользователя, который в данный момент использует ваше веб-приложение, в базовый общий ресурс (я думаю).

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

НТН,

Ричард.

...