Как мне загрузить файл из общей папки, используя учетные данные Windows пользователя? - PullRequest
0 голосов
/ 21 сентября 2018

В моей сети есть файл - скажем, он находится в следующем месте:

имя-сервера / folder1 / folder2 / file.xlsx

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

Если я запускаю веб-приложение локально, он работает нормально.Однако при запуске с моего хост-сервера выдается ошибка:

System.IO.IOException: ошибка входа: неизвестное имя пользователя или неверный пароль.

В настоящее время я использую следующий код, чтобы попытаться это сделать:

byte[] fileBytes = System.IO.File.ReadAllBytes(@"server-name\folder1\folder2\file.xlsx");
return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

Если я войду на хост-сервер (используя свои личные учетные данные Windows), я смогу получить доступ к этому местоположению через ФайлИсследователь, так что я знаю, что связь между ними в порядке.

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

1 Ответ

0 голосов
/ 21 сентября 2018

Учетная запись, на которой работает хост-сервер, не имеет доступа к файлу, поэтому вы получаете сообщение об ошибке.

Возможные исправления:

  • Изменитьзащита файла, позволяющая получить доступ к учетной записи, с которой работает веб-сервер.

  • Изменить учетную запись, с которой работает веб-сервер, на другую учетную запись, которая имеет доступ кфайл (ы)

  • Ваш код олицетворяет пользователя, который имеет доступ к файлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...