401.1 Грешка при достъп до виртуална директория, сочеща към мрежов дял

IIS5 работи на SERVER1.

Една от виртуалните директории в IIS, myfiles, сочи към „Споделено местоположение на друг компютър“, //SERVER2/myfilesshare

Когато се опитам да вляза в страницата: http://SERVER1/myfiles

... Получавам грешката:

Не сте упълномощени да разглеждате тази страница

HTTP 401.1 - Неупълномощено: Неуспешно влизане

Интернет информационни услуги

Проверих три пъти настройките „Свързване като...“ в IIS. Идентификационните данни, които използвам за достъп до споделянето, са правилни - те работят, когато се свързват към споделянето в Windows Explorer, но не и през виртуалната директория на IIS. Опитах се да дам пълно разрешение на Всички в папката в SERVER2, но без успех.

някакви мисли?


person frankadelic    schedule 06.03.2009    source източник
comment
Има ли късмет в крайна сметка? В момента съм изправен пред точно същия проблем.   -  person abatishchev    schedule 06.11.2014


Отговори (4)


Ето как реших проблема си, може да ви помогне.

По подразбиране IIS използва локален потребител, наречен IUSR за виртуални директории, когато използва анонимно удостоверяване. Не използва идентичност на приложението, което трябва да е очевидно, ако използвате procmon.

Как можете да го принудите да използва идентичност на приложението?

Лесно, под IIS мениджър:

1) отидете на Удостоверяване

2) Редактирайте „Анонимно удостоверяване“

3) Изберете „Идентификация на група приложения“

4) Рестартирайте IIS и трябва да работи.

Същото постигнато с PS: Set-WebConfigurationProperty -filter /system.WebServer/security/authentication/AnonymousAuthentication -name username -value ""

Тази връзка съдържа предимствата и недостатъците: http://blogs.technet.com/b/tristank/archive/2011/12/22/iusr-vs-application-pool-identity-why-use-either.aspx

person Erti-Chris Eelmaa    schedule 21.04.2015

Проблемите с разрешенията могат да бъдат трудни. Опитайте да стартирате filemon на „другия компютър“. Може да бъде изтеглен от тук: http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx (не е голямо приложение, а малък лек инструмент)

След като стартирате filemon, спрете процеса на наблюдение (вярвам, че е включен по подразбиране, когато стартирате приложението), изчистете регистрираните данни, създайте филтър за папката, до която имате проблеми с достъпа. Стартирайте процеса на наблюдение. Поискайте вашата уеб страница. Спрете процеса на наблюдение и потърсете съобщения „отказан достъп“ във filemon. Когато бъде намерен, filemon ще спомене и името на действителния потребител, който се опитва да получи достъп. Това може да ви помогне да стигнете до решение.

Между другото, когато използвате Windows Server 2008, ще ви трябва вместо това processmon: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

person Roel Snetselaar    schedule 06.03.2009
comment
По някаква причина filemon не показва нищо подходящо за този файл на споделената машина. Event Viewer разкри, че ASPNET няма разрешения за файла web.config в мрежовия дял. Как мога да дам на локалния ASPNET потребител на сървър1 достъп до сървър2? - person frankadelic; 06.03.2009
comment
Е, можете ли също да създадете ASPNET акаунт на този сървър и да зададете съответните разрешения? Също така можете да опитате да стартирате ASP.NET приложение под акаунт на домейн. - person Lex Li; 07.03.2009

Представете си сценарий, при който по някаква причина искате вашият IIS сървър да има достъп до споделяне на файлов сървър и те не са в същия домейн.

Ако можете да следвате и да накарате това да работи за вас (аз го направих Win2008-R1 32-битов файлов сървър и Win2008-R2 64-битов с IIS 7), тогава трябва да сте в добра форма за всеки сценарий.

  • Локален акаунт с едно и също име и на двата сървъра с една и съща парола
  • В IIS използвайте aspnet_regiis -ga MyAccount, за да дадете достъп на локален акаунт до червата на IIS
  • Сега използвайте това като идентичност на пула приложения на уебсайта
  • Използването на локална политика за сигурност (администраторски инструменти) активира доверие за делегиране за локален акаунт
  • Рестартирайте IIS сървъра
  • На файловия сървър използвайте локална политика за сигурност, за да разрешите достъп от мрежата за локален акаунт
  • Създаване на споделяне, предоставящо желани разрешения за локален акаунт (също разрешения за раздела Защита, ако е необходимо)
  • Отворете портове за споделяне на файлове и печат и на двата (колкото е възможно ограничително), за да посочите къде работи за вас, когато използвате Windows Explorer между двата
  • Обратно към IIS, създайте виртуална директория, като използвате UNC път към споделена папка от файлов сървър
  • Просто използвайте Pass-through удостоверяване (което ще използва вашия локален акаунт)
  • Можете да кажете на настройката за анонимно удостоверяване на виртуалната директория да използва и идентичност на групата приложения

Използвайте нещо, което ще тества/провери. Ключът наистина е доверието за делегиране с помощта на Service Account (домейн или друго) и IIS да използва акаунта, който искате да използва вместо локален сървър или мрежова услуга.

Това ми отне цял ден, за да разбера. Различни нишки в StackOverflow и други интернет източници ми помогнаха да ме насочат към различни ресурси, но никъде не намерих точния си отговор. Надяваме се, че следващият човек, заседнал с този проблем, ще получи ускорение по пътя към разрешаването му с моето описание на това, което работи за мен.

person cusman    schedule 22.10.2012

опитайте да активирате Windows удостоверяване в раздела за сигурност на виртуалната директория (в IIS).

person Dror    schedule 06.03.2009
comment
Това води до изскачане на подкана за потребителско име/парола, когато влизам в сайта. Но дори след това да въведа правилните идентификационни данни, това не работи. Имайте предвид, че двата сървъра не са част от един и същи домейн. - person frankadelic; 06.03.2009