Назад | Перейти на главную страницу

IIS 8.5 Windows Authentication не работает для некоторых пользователей

У меня есть установленное приложение, требующее проверки подлинности Windows под Windows 2012, IIS 8.5. Когда определенные пользователи используют приложение, они получают ошибку 401 после запроса / ответа. Остальные могут без проблем пользоваться сайтом. Все пользователи находятся в одной группе AD, но это может быть совпадением.

Вот запрос и ответы, которые обрабатываются (веб-сайт является внутренним для нас, http: // lcf - это A-запись, а не CNAME):

Запрос:

Отклик:

В журнале безопасности это типично:

An account failed to log on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

Account For Which Logon Failed:
    Security ID:        NULL SID
    Account Name:       test1
    Account Domain:     CORP

Failure Information:
    Failure Reason:     Account locked out.
    Status:         0xC0000234
    Sub Status:     0x0

Process Information:
    Caller Process ID:  0x0
    Caller Process Name:    -

Network Information:
    Workstation Name:   1N14SW1-PC
    Source Network Address: -
    Source Port:        -

Detailed Authentication Information:
    Logon Process:      NtLmSsp 
    Authentication Package: NTLM
    Transited Services: -
    Package Name (NTLM only):   -
    Key Length:     0

Данная учетная запись ("test1") не заблокирована из Active Directory из-за сбоев входа в систему и т. Д. Я думаю, что здесь блокировка должна быть из IIS.

В журнале IIS это соответствующая запись:

2015-04-06 13:41:27 10.0.150.6 GET /Loss - 80 CORP\test1 10.0.20.28 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/6.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Center+PC+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+EIE10;ENUSWOL) - 401 0 0 15

Для сайта:

Я также пробовал несколько браузеров. Фактически, переключение пользователей на одном компьютере дает разные результаты. (Пользователь A на машине A в порядке, пользователь B на машине A - нет.) Машины находятся в одной интрасети.

Изменить: я добавил файл верхнего уровня «test.html», чтобы упростить задачу. Я включил регистрацию сбоев и вот мой результат. Кто-нибудь может прочитать эти руны?

РЕДАКТИРОВАТЬ

Я вроде как на грани своего гугл-фу и веревки. Какие-либо предложения?

Тот факт, что все заблокированные пользователи находятся в одной группе AD, вероятно, не случаен. Эти пользователи могут не иметь разрешений NTFS для доступа к папке приложения. Чтобы избежать этой проблемы, я сделал следующее, что должно гарантировать, что учетная запись удостоверения пула приложений используется для всего доступа к файлам, и никогда не будет смешного бизнеса с олицетворением.

Откройте диспетчер IIS. Выберите приложение в разделе Сайты. Дважды щелкните значок «Редактор конфигурации». В раскрывающемся списке "Раздел" найдите system.webServer/serverRuntime. Установите это на UseWorkerProcessUser.

То же самое можно сделать с помощью файлов appcmd.exe или .config.

Немного удивительно, что это не поведение по умолчанию. Видимо при использовании аутентификации Windows и настройке по умолчанию (UseAuthenticatedUser), некоторый доступ к файлам осуществляется с использованием разрешений пользователя, просматривающего сайт, а некоторый доступ к файлам осуществляется с использованием разрешений удостоверения пула приложений. Лично я всегда хотите использовать только разрешения удостоверения пула приложений, поэтому я должен не забыть настроить параметры, описанные выше.