IIS 7.5 (Windows 7) - помилка HTTP 401.3 - неавторизовано


81

Я намагаюся перевірити свій веб-сайт ASP.Net на localhost, і я отримую цю помилку:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

У папці додатків веб-сайту є такі користувачі, які мають повні дозволи на читання / запис:

  • СЕРВІС МЕРЕЖІ
  • IIS_IUSRS
  • СИСТЕМА
  • Адміністратори
  • Натан (я)

Що я можу спробувати виправити?


Я переслідував це питання вже пару годин. У мене вже є IUSR, і сервер \ IUSR отримає дозвіл на читання. Моя проблема виявилася зашифрованими папками, витягнутими з файлу Zip. Якщо назва папки зеленого кольору, спробуйте зняти прапорець у полі Додаткові налаштування поля Властивість. Це вирішило мою проблему.
Ліонель Моррісон

Відповіді:


123

IIS 7 також створює "IUSR" як користувача за замовчуванням для доступу до файлів через IIS. Тому зробіть, щоб користувач IUSR мав доступ до читання файлів / папок.

Як перевірити, чи IUSR прочитав Access? Клацніть правою кнопкою миші -> Папка -> Властивості -> Вкладка безпеки Перевірте, чи є IUSR у списку груп або імен користувачів, якщо ні.

Клацніть Правка -> Додати -> Додатково -> Знайти зараз -> Виберіть IUSR і чотири рази натисніть кнопку ОК


5
Переконайтеся, що ви шукаєте з потрібного місця. Я шукав IUSR у своїй робочій області і нічого не знаходив. Потім я змінив місце розташування на своє ім’я машини.
Майк Бландфорд

8
Примітка. Для роботи на моїй машині для цього потрібен доступ до IUSR і IIS_IUSRS. Я спробував видалити IIS_IUSRS після додавання IUSR, думаючи, що IUSR - це все, що мені потрібно, але він крик.
kdawg

1
Мене здивувало, що лише додавання IIS_IUSRsбуло недостатньо; Мені теж довелося додати IUSR. Варто пам’ятати: o)
Оуен Блекер

Напевно користувач IUSR вже є членом IIS_IUSRS за замовчуванням? Мій сервер, схоже, не згадує IUSR у своїх дозволах за замовчуванням, встановлених для wwwroot.
NickG

33

Знайшов це на іншому форумі, тому я не можу взяти кредит, але я це зробив, і він працював на мене:

"Спробуйте змінити налаштування Анонімної автентифікації в IIS7:

Натисніть на «Аутентифікація» та натисніть «Редагувати» після вибору «Анонімна автентифікація». У вікні, що відкривається, виберіть ідентифікацію пулу програми та натисніть кнопку ОК. "


5
Це те, що зробило це для мене.
Кріс Марісіч

Я використовую себе за себе, і це якось було проблемою. Не знаю чому, але це спрацювало!
Jarrod

Це перешкодило мені сьогодні виривати все волосся. Дякую.
pauska

На IIS 8.5 здається, що для нового додатку за замовчуванням використовується не ідентифікатор пулу додатків, а лише IUSR. Мені здається, що це трохи дістало!
Збудник

Здогадайтесь, що має сенс бажати окремих ідентифікаторів для "користувача, який працює у пулі додатків", та "користувача, представленого ім'ям пулу додатків після" анонімної "автентифікації", але лише з огляду, і після пошуку цієї відповіді!
шамбулятор

20

У мене був такий самий випуск у IIS 7.5 на Windows Server 2008. Для мене були вирішені наступні кроки, щоб вирішити проблему:

  • Відкрийте менеджер IIS
  • Клацніть веб-сайт, який ви хочете редагувати
  • Двічі клацніть автентифікацію
  • Клацніть Анонімна автентифікація , а потім натисніть Редагувати ... у розділі Дії
  • Змінити, щоб використовувати ідентифікаційні дані пулу додатків замість конкретного користувача (у мене був IUSR)

Після внесення цієї зміни мої 401,3 помилки зникли.


10

Ви використовуєте механізм входу або просто анонімний auth?

Якщо анонімний, увійдіть до менеджера IIS, у значку автентифікації виберіть ім'я Анонімного автентифікації та натисніть кнопку Редагувати в розділі Дії. Перевірте, якого користувача там вказано та переконайтеся, що він має дозволи на файли / папки сайту.

Якщо у вас є якась форма системи входу, переконайтеся, що користувачі (користувачі), у яких ви входите в систему, мають права доступу до файлів сайту, і переконайтеся, що ідентифікатор пулу додатків, під яким ви працюєте, має принаймні доступ для читання до файлів.


3

За замовчуванням з IIS 7.5 кожен пул додатків працює під власною "віртуальною ідентичністю". Ідентифікація пулу додатків - це облікові дані, які використовуються для доступу до файлової системи.

Я не впевнений у механіці цього, але Microsoft зробив це для підвищення безпеки встановлення за замовчуванням, одночасно полегшивши необхідність створення облікових записів послуг у певних сценаріях встановлення. Незалежно від цього, вам доведеться визначити цей обліковий запис "віртуальної ідентичності" та надати йому доступ до вашого каталогу або змінити обліковий запис служби App Pool.

Віртуальні ідентичності пулу додатків мають назву "IIS AppPool \", тож якщо ви використовуєте DefaultAppPool, його ідентичність буде "IIS AppPool \ DefaultAppPool".

Дивіться цю статтю для більш повної інформації.


3

Привіт мені для роботи на IIS 8: 1) Перейдіть у віртуальний каталог IIS - 2) аутентифікація - 3) Анонімна автентифікація - 4) встановлення ідентичності пулу програми.


І відповідь IUSR, і ця відповідь потрібні для повного вирішення у всіх випадках, в які я зіткнувся
Брайан Ноблеуч,

2

Оскільки жоден з вищезазначених відповідей мені не допоміг, я подумав, що поділюсь тим, як вирішив цю проблему, коли натрапив на неї на своїй локальній машині під управлінням win7 та IIS7.

  • Перейдіть до IIS7 -> Пул додатків

    Знайдіть пул додатків свого сайту (в моєму випадку DefaultAppPool), клацніть правою кнопкою миші та виберіть Додаткові параметри.

    Знайдіть розділ Process Model і змініть поле Identity на користувача, якого ви точно знаєте, має доступ до файлів у папці вашого веб-сайту (у моєму випадку місцевого адміністратора)


2

Відповідь, щоб включити інформацію з коментарів до прийнятої відповіді.

У IIS 7.5 на Windows Server 2008r2 група IIS_IUSRS вже включена, але окрему групу IUSR все ж слід додати до дозволів, щоб дозволити доступ до файлу / завантаження файлів.

Для отримання додаткової інформації про різниці в облікових записах див. Розуміння вбудованих облікових записів користувачів та груп у IIS.


1

Спробуйте це ... Перейдіть до Управління комп'ютером (клацніть правою кнопкою миші на моєму комп’ютері та виберіть Керувати) -> Місцеві користувачі та групи -> Користувачі -> Виберіть IUSR_MACHINENAME -> Властивості клацніть правою кнопкою миші -> Переконайтеся, що це член користувачів IIS_WPG та користувачів, а не гостей.


Я працюю з Server 2008 R2, і обліковий запис IUser відсутній у списку.


1

Спробуйте встановити клієнтську частину IIS за допомогою, aspnet_regiis -cа потім скиньте IIS.


1

Для користувачів, де цього недостатньо:

Я змусив це працювати з цим:

  • Відкрийте Перегляд функцій свого веб-сайту.
  • Перейдіть до відображення обробника.
  • Знайдіть шлях для .cshtml
  • Клацніть правою кнопкою миші та натисніть «Редагувати дозволи для функцій»
  • Виберіть Виконати
  • Натисніть ОК.

Тепер спробуйте оновити веб-сайт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.