У меня есть довольно сложный вопрос, поэтому я постараюсь сформулировать его здесь.
Я ищу решение с единым входом (SSO).Мне известны многие варианты, но я исключил большинство из них, так как я добавляю критерии, которым они должны соответствовать.Вот критерии:
1.) Единый вход должен быть добавлен к существующей «системе».
2.) Существующая «система» состоит из «X» количества веб-сайтов.
3.) Все веб-сайты "x" являются электронной коммерцией.
4.) Все веб-сайты принадлежат компании Y, для которой 95% системы было построено собственными силами.
5.) Каждый изколичество сайтов "X" находится в одной веб-ферме.
6.) Все сайты имеют следующие компоненты:
- DAL (уровень доступа к данным)
- База данных (тележки, заказы, пользователи, запасы и т. Д.)
- Аутентификация (Аутентификация форм в WebForms и MVC).
7.) Для текущей средыДля работы Machine Key уже синхронизированы между серверами с балансировкой нагрузки (и в течение некоторого времени).
8.) Требуется высокая доступность и стабильность из-за очень большого объема трафика.
Все эти критерии привели меня к пути WIF и пользовательской STS для использования с нашими существующими службами аутентификации участников.Такие вещи, как OpenID и другие решения с открытым исходным кодом, похоже, склоняются к взаимодействию между компаниями;Который не нужен или не хотел.Идеальное решение будет на 100% внутренним и позволит пользователю войти на веб-сайт «1», сделать все, что он хочет, а затем перейти на веб-сайт «2» (также размещенный за балансировщиком нагрузки и, возможно, даже на том же самом сайте).веб-сервер как пользователь был для веб-сайта "1") и уже вошел в систему.
Вот список альтернативных методов, которые я рассмотрел, и соответствующая причина их исключения (или я должен пересмотретьнекоторые из этих альтернатив?).
- OpenID: это было исключено по нескольким причинам, главным образом потому, что моя организация ищет «единый» единый вход и интеграцию с внешними веб-сайтами или систему идентификации, используемую свнешние сайты нежелательны.
- CAS: По большей части это также кажется достойной альтернативой.В конечном итоге это было исключено, поскольку используемые им технологии (Java, Apache, Maven и т. Д.) Потребуют дополнительных усилий и средств для понимания, реализации, поддержки и расширения (в первую очередь .NET Shop).
- OAuth: похоже, он больше ориентирован на предоставление защищенных данных через веб-сервисы.Полностью настраиваемый (http://www.codeproject.com/KB/aspnet/CrossDomainSSOModel.aspx): Полностью настраиваемый подход может иметь слишком большое время реализации, и безопасность более важна для этого метода.
- DotNetOpenAuth: зависит / зависит от OpenID.
Таким образом, вопрос заключается в следующем: будет ли WIF работать в нашей существующей среде с учетом балансировки нагрузки и уже совместно используемых данных учетных записей пользователей на разных веб-сайтах или есть лучший подход?
Пожалуйста, дайте мне знать, если вам нужнолюбое уточнение.
РЕДАКТИРОВАТЬ:
Просто чтобы уточнить, чего я хочу достичь (или думаю, что я пытаюсь достичь, учитывая проведенное исследование), это:
Текущая настройка (JPEG размещен в Dropbox)
Требуемая настройка (JPEG размещена в Dropbox)