У меня много проблем с правильной настройкой аутентификации для IIS. У меня есть сайт SharePoint, работающий под IIS 6.0, а веб-сайт IIS настроен для встроенной проверки подлинности Windows. Веб-сервер находится в домене, называемом STAGING
, и большинство моих пользователей - это другой домен, который называется CORP
. Пользователи CORP
имеют учетные записи домена STAGING
и могут входить на сайт SharePoint через домены (например, пользователи входят на свои рабочие станции CORP
и могут входить на сайт). Однако пользователи домена STAGING
не могут войти в систему из домена STAGING
. Насколько я понимаю, пользователи домена STAGING
должны иметь доступ к сайту без запроса учетных данных, но это не так. Тем не менее, после ввода учетных данных результатом всегда будет 401.
Я посмотрел на HTTP-сеанс в Fiddler, и оказалось, что сервер просто не принимает согласованные учетные данные, отправленные клиентским браузером. Вот сокращенная запись:
HTTP GET server /sites/mysite with headers: { }
--> 401.2, with headers: { WWW-Authenticate: Negotiate, WWW-Authenticate: NTLM }
HTTP GET server /sites/mysite with headers: { Authorization: Negotiate <digest1> }
--> 401.1, with headers: { WWW-Authenticate: Negotiate <digest2> }
HTTP GET server /sites/mysite with headers: { Authorization: Negotiate <digest3> }
--> 401.1, with headers: { WWW-Authenticate: Negotiate <digest4> }
Цикл GET/401.1 повторяется 3 раза, прежде чем браузер окончательно сдается.
Я ожидал бы, что, если бы я все настроил правильно, клиент в домене просто передал бы учетные данные, и жизнь была бы хорошей, но это не то, что происходит, и жизнь не хороша :-(
У кого-нибудь есть предложения?