2016-06-01 5 views
2

У меня есть вопрос, похожий на них:авторизации файла/URL Сбой второго запроса

URL authorization failed for the request

IIS File authorization failed for the request

Я бегу несколько подобных веб-сайтов на IIS 7. Я тестирование с Firefox , так что я могу действовать как пользователи, кроме меня.

Я выполнял всю свою работу на сайте 1. Я могу войти в систему как пользователи сети administrator и sys\bob.

Я сейчас работаю над сайтами 2 и 3. Я могу войти как administrator просто отлично. Проблема заключается в следующем: когда я вхожу в систему как dom\bob, первоначальный вход в систему правильно аутентифицирован. По всем последующим запросам dom\bob отклоняется либо для отказа файла, либо для проверки подлинности URL.

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

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

В частности на разрешениях:

Режим <authentication> является Windows на всех веб-сайтах.

В частности, узел <authorization> идентичен между веб-сайтами.

Локальный домен - это та же самая виртуальная машина MS Windows Server 2008 во всех случаях - один серверный образ, размещающий несколько веб-сайтов. Поэтому теоретически авторизации пользователей должны быть одинаковыми во всех веб-сайтах.

--Edit 1-- Просто моя удача. У меня возникла эта проблема с авторизацией на веб-сайте 1, в файле JavaScript, который прошел отлично до этого, во время обзора спринта. Существовал поворот в этом случае, пользователь смог пройти через несколько страниц, прежде чем авторизация завершилась неудачно.

Я выложу свои журналы, как только смогу.

--Edit 2-- Я сделал одно изменение среды незадолго до начала этой проблемы: обновил jQuery и Bootstrap.

Вот мои посмотреть различия в packages.config:

Перед

<package id="AspNet.ScriptManager.bootstrap" version="3.3.5" targetFramework="net45" /> 
    <package id="AspNet.ScriptManager.jQuery" version="2.1.4" targetFramework="net45" /> 
    <package id="bootstrap" version="3.3.5" targetFramework="net45" /> 
    <package id="jQuery" version="2.1.4" targetFramework="net45" /> 

После

<package id="AspNet.ScriptManager.bootstrap" version="3.3.6" targetFramework="net45" /> 
    <package id="AspNet.ScriptManager.jQuery" version="2.2.3" targetFramework="net45" /> 
    <package id="bootstrap" version="3.3.6" targetFramework="net45" /> 
    <package id="jQuery" version="2.2.3" targetFramework="net45" /> 

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

1:

Event code: 4008 
Event message: File authorization failed for the request. 
Event time: 6/2/2016 2:31:29 PM 
Event time (UTC): 6/2/2016 6:31:29 PM 
Event ID: e4a0fd65d9e34686967f14429d21ab97 
Event sequence: 14 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/21/ROOT-1-131093658656731243 
    Trust level: Full 
    Application Virtual Path:/
    Application Path: C:\Users\Administrator\Documents\Visual Studio 2013\Projects\HAWK_WebForms\HAWK.Web.LogansRun\ 
    Machine name: BAH01 

Process information: 
    Process ID: 5288 
    Process name: iisexpress.exe 
    Account name: HAWK\administrator 

Request information: 
    Request URL: http://localhost:53104/Scripts/jquery-2.2.3.js 
    Request path: /Scripts/jquery-2.2.3.js 
    User host address: ::1 
    User: HAT\john.smith 
    Is authenticated: True 
    Authentication Type: NTLM 
    Thread account name: HAWK\administrator 

Custom event details: 

2:

Event code: 4008 
Event message: File authorization failed for the request. 
Event time: 6/2/2016 2:28:51 PM 
Event time (UTC): 6/2/2016 6:28:51 PM 
Event ID: a43d7292a8894df193600e829e74c696 
Event sequence: 14 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/14/ROOT-1-131093657141125131 
    Trust level: Full 
    Application Virtual Path:/
    Application Path: C:\Users\Administrator\Documents\Visual Studio 2013\Projects\HAWK_WebForms\HAWK.Web.LogansRun\ 
    Machine name: BAH01 

Process information: 
    Process ID: 5248 
    Process name: iisexpress.exe 
    Account name: HAWK\administrator 

Request information: 
    Request URL: http://localhost:53752/Scripts/Pages/Admin/SelfRatingWizard.js 
    Request path: /Scripts/Pages/Admin/SelfRatingWizard.js 
    User host address: ::1 
    User: HAWK\james.jones 
    Is authenticated: True 
    Authentication Type: NTLM 
    Thread account name: HAWK\administrator 

Custom event details: 

--edit 3--

Я попытался добавить ключ реестра из этого ответа: https://stackoverflow.com/a/13015279/2615836

Это Ждут» ничего не меняйте. Я также дважды проверил порядок поставщиков аутентификации. NTLM уже опережает переговоры для всех сайтов.

- еще одно обновление-- Я откатил Bootstrap и jQuery. К моему удивлению, авторизация файла все еще не удалась! Опять же, jQuery.js - одно место - почти каждый файл поднимает эту жалобу. Это похоже на то, что токен авторизации «забыт».

--update to Edit 1-- Файл JavaScript, который поднимал проблемы на веб-сайте 1, не имел разрешений для Network Service, как и все другие файлы JavaScript. Как только я исправил это, веб-сайт 1 был разрешен. Увы, это исправление не решало веб-сайте 2.

+0

Я запускал 'iisreset' и перезагружал виртуальную машину. Ни одна из этих попыток не разрешила проблему. –

ответ

0

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

Таким образом, это была проблема с правами доступа на уровне ОС.

0

Такое поведение может произойти (в разных браузерах), когда несколько факторов являются актуальными и в то же время:

  • WindowsAuthentication включена. Анонимная аутентификация отключена;
  • Доступ к серверу осуществляется по IP-адресу (а не по псевдониму);
  • Первый запрос ajax завершен;
  • 1 минута тайм-аута завершена.

Просьба сообщить об ошибке ajax request hangs when referring to server by IP address and WindowsAuthentication is enabled in IE11.

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

+0

Я обращаюсь к серверу по URL-адресу, а не по IP-адресу. В частности: 'localhost: 53104/Hawk.aspx'. «Анонимная аутентификация» включена и задана идентификатором пула приложений; «Аутентификация Windows» включена и принимает аутентификацию расширенного режима. Я не думаю, что есть какие-либо запросы AJAX, которые происходят во время загрузки страницы. И я не использую IE. Поэтому я не думаю, что это проблема. –

 Смежные вопросы

  • Нет связанных вопросов^_^