ASP.NET - «Неизвестное имя пользователя или пароль» при попытке скопировать файл на удаленный общий ресурс - PullRequest
1 голос
/ 15 сентября 2010

У меня есть приложение ASP.NET, которое пытается скопировать файл на удаленный общий ресурс, который находится на сервере в другом домене («REMOTEDOMAIN»):

File.Copy(@"c:\Test.txt", @"\\REMOTEMACHINE\Share");

Когда мы попадаем в File.CopyПри попытке подключиться к общему ресурсу через локальную установку IIS я получаю сообщение «Ошибка входа: неизвестное имя пользователя или пароль».Это происходит несмотря на то, что сам общий ресурс имеет права на чтение и запись «Все» (по крайней мере, временно).Журнал безопасности на удаленном сервере регистрирует ту же ошибку, поэтому я знаю, что процесс, по крайней мере, пытается попасть в нужное место.

Я понимаю, почему, поскольку пул приложений веб-сайта пытается аутентифицироваться с помощьюучетная запись в LOCALDOMAIN, а не REMOTEDOMAIN.

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

Есть мысли о том, как дополнительно диагностировать это?К сожалению, тестовый сайт должен оставаться в LOCALDOMAIN, а файлы все равно должны быть скопированы в REMOTEDOMAIN;Я не могу переместить один сайт на другой или наоборот.

1 Ответ

1 голос
/ 15 сентября 2010

Все не включают Anonymous, поэтому пользователь все еще должен находиться в домене REMOTEDOMAIN (http://support.microsoft.com/kb/278259).. Вы можете заставить это работать, разрешив «Гость», но это будет кошмар безопасности, конечно это не очень помогает.

Решением было бы выдать себя за пользователя Asp.Net: http://support.microsoft.com/kb/306158

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

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

Вы абсолютно уверены в этом? Если вы говорите о сервере разработки Visual Studio, он работает на вашей учетной записи. И, как правило, Asp.Net работает как «Сетевая служба»

...