Моя страница ASP считывает файл из общего каталога и отправляет его пользователю.
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition:", string.Format("attachment; filename={0}", fileName));
Response.WriteFile(filePath);
Response.End();
Этот код ASP работает на веб-сервере, я полагаю, он работает как учетная запись локальной системы, потому что IIS. filePath указывает на файл на файловом сервере \\fileserver\shared\abc.pdf
Когда я отлаживаю код на своем локальном компьютере, файл правильно читается со страницы ASP. Однако, когда я запускаю его на веб-сервере, он не может прочитать файл. Какое разрешение нужно предоставить \fileserver\shared, чтобы страница ASP правильно читала файл? Очевидно, что локальная система не является допустимым пользователем для входа на страницу разрешений.
2 ответа
IIS по умолчанию запускает свои пулы приложений как «Сетевая служба». Это локальная учетная запись в поле IIS. Если вы хотите получить доступ к общему сетевому ресурсу, вам необходимо перенастроить идентификатор пула приложений на учетную запись с доступом к общему ресурсу, например учетную запись домена.
Если оба ящика не находятся в домене, вы можете создать имя пользователя и пароль на обеих машинах (одинаковые на обеих машинах) и использовать их для пула приложений, установив разрешения на общий ресурс, чтобы разрешить доступ этому (локальному) пользователю на файловый сервер
Вы можете попытаться выдать себя за пользователя, которому разрешен доступ к общему ресурсу. Добавьте это в свой web.config:
<identity impersonate="true" userName="accountname" password="password" />
Похожие вопросы
Новые вопросы
asp.net
ASP.NET - это среда разработки веб-приложений Microsoft, которая позволяет программистам создавать динамические веб-сайты, веб-приложения и веб-службы. Полезно использовать этот тег в сочетании с тегом типа проекта, например, [asp.net-mvc], [asp.net-webforms] или [asp.net-web-api]. НЕ используйте этот тег для вопросов о ASP.NET Core - используйте вместо этого [asp.net-core].