Олицетворение и делегирование в ASP.NET - PullRequest
4 голосов
/ 05 февраля 2009

У меня проблемы с доступом к текстовому файлу на удаленном сервере с ASP.NET. Приложение ASP.NET 1.1 работает на сервере 2003 с использованием олицетворения с учетными данными Windows запрашивающей стороны. Клиент, веб-сервер и удаленный сервер находятся в одном домене, и у пользователя есть разрешение на доступ к текстовому файлу. Пользователь может открыть текстовый файл со своего компьютера через общий ресурс UNC. Когда пользователь запускает сайт, зарегистрированный непосредственно на сервере, он работает нормально. Однако, когда пользователь пытается на своей машине, это не работает. Как настроить Олицетворение, чтобы это работало?

EDIT: Другие функции приложения работают нормально, он просто обращается к удаленному файлу, который не работает.

Ответы [ 3 ]

3 голосов
/ 06 февраля 2009

Звучит так, как будто вы столкнулись с проблемой мульти-прыжка. Когда вы используете встроенную аутентификацию, вы можете проходить аутентификацию из браузера в IIS. Но вы не можете аутентифицироваться на других машинах в домене. Причина в том, что со стандартными учетными данными они не могут проверить, кто вы.


Есть 2 основных обходных пути, с которыми я знаком:
  1. Внедрите Kerberos, эти сертификаты позволяют выполнять более сложную аутентификацию и допускают скачки в нескольких сетях.
  2. Повторно выдать себя за пользователя, используя Win32 API LogonUser (требуется пароль).
0 голосов
/ 06 февраля 2009

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

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

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

0 голосов
/ 05 февраля 2009

При проверке подлинности IIS, Anonymous и Basic необходимо как минимум отключить проверку папок приложения. Возможно, вы захотите проверить саму папку приложения, а не только корневые папки. Могут быть и другие варианты конфигурации, но это опция «низко висящие фрукты».

...