Вам нужно это знать о проверке подлинности на основе утверждений в SharePoint 2010 — сеансы Sticky НЕОБХОДИМЫ

Исходная статья опубликована в пятницу, 28 октября 2011 г.

Всем здравствуйте. Теперь и я могу рассказать о том, как меня довела до белого каления одна странность в работе проверки подлинности на основе утверждений. И я бы очень хотел, чтобы в свое время я лучше представлял себе ее поведение. Это крайне важный аспект развертывания такой проверки подлинности, и я хотел бы рассказать о нем здесь, чтобы при случае вы могли бы справиться с этой проблемой.

Если в двух словах, то при использовании проверки подлинности на основе утверждений вам НЕОБХОДИМО использовать сходство в своем решении балансировки нагрузки. В TechNet это описывается, но лишь в виде краткого и довольно неубедительного комментария. Эта статья находится по адресу http://technet.microsoft.com/en-us/library/cc288475.aspx, и в ней говорится:

Примечание. При использовании проверки подлинности на основе маркеров SAML с AD FS в ферме SharePoint Foundation 2010, в которой находится несколько веб-серверов в конфигурации с балансировкой нагрузки, она может оказать негативное влияние на производительность и функциональность представлений клиентских веб-страниц. Когда AD FS предоставляет клиенту маркер проверки подлинности, этот маркер передается SharePoint Foundation 2010 для каждого элемента страницы с ограниченными разрешениями. Если в решении с балансировкой нагрузки не используется сходство, каждый защищаемый элемент проходит проверку подлинности на нескольких серверах SharePoint Foundation 2010, что может привести к отклонению маркера. После отклонения маркера SharePoint Foundation 2010 перенаправляет клиент для повторной проверки подлинности обратно на сервер AD FS. После этого сервер AD FS может отклонить несколько запросов, сделанных в короткий период времени. Такое поведение определено специально для защиты от атак типа "отказ в обслуживании". При снижении производительности или неполной загрузке страниц можно установить балансировку сетевой нагрузки в режим с одиночным сходством. Это позволяет изолировать запросы маркеров SAML к одному веб-серверу.

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

  • Вас произвольно может перенаправлять обратно на страницу входа.
  • Вы можете оказаться в цикле проверки подлинности, который приведет к тому, что службы федерации Active Directory отклонят запрос из-за подозрений в атаке типа "отказ в обслуживании", как указано в примечании.
  • Если просмотреть трассировку действий, можно увидеть, что SharePoint присваивает файлу cookie федеративной проверки подлинности значение с истекшим сроком действия, а затем снова начинает направлять запросы к службе ADFS, после чего по до сих пор непонятным мне причинам она либо не выдает действующий файл cookie, либо SharePoint преобразует его в файл cookie с истекшим сроком действия. Именно это запускает цикл "отказ в обслуживании", описанный выше. Оглядываясь назад, я припоминаю, что раньше мне уже несколько раз говорили о такой странности, и теперь я понимаю, что, вероятно, причиной тому было отсутствие сеансов Sticky.

В двух словах, больше не должно быть затруднений или досужих рассуждений по этому вопросу. Для SharePoint 2010 при использовании проверки подлинности на основе утверждений ИСПОЛЬЗУЙТЕ СХОДСТВО ВМЕСТЕ С РЕШЕНИЕМ БАЛАНСИРОВКИ НАГРУЗКИ!

Это локализованная запись блога. Исходная статья находится по адресу: Make Sure You Know This About SharePoint 2010 Claims Authentication - Sticky Sessions Are REQUIRED