Проведя некоторые исследования и поговорив с несколькими администраторами системы, которые будут управлять этим, мы остановились на двух вариантах, которые должны удовлетворять большинство людей. Я опишу их здесь для тех, кто также заинтересован в результате.
Служба проверки подлинности установлена в origanisation в ДМЗ
Если пользователи хотят использовать аутентификацию с активным сервером в локальной директории они будут необходимы для установки агента в их DMZ и открыть порт 443 к нему. Наш сервис будет настроен на использование этой службы для выполнения проверки подлинности.
Эта служба будет размещаться в DMZ и получать запросы на аутентификацию из приложения SaaS. Служба попытается связать с активным каталогом эти учетные данные и вернуть статус, указывающий на успех или неудачу.
В этом случае проверка подлинности на основе форм приложения не изменится, и пользователь не будет знать об аутентификации за кулисами.
OpenId
Подобно первому подходу, услуга будет установлена в демилитаризованной зоне клиента, и будет открыт порт 443. Это будет поставщик OpenId.
Приложение SaaS будет пользователем OpenId (уже для входа в Facebook, Twitter, Google и т. Д.).
Когда пользователь хочет войти в систему, поставщик OpenId будет представлен с просьбой ввести свое имя пользователя и пароль. Этот экран входа будет обслуживаться из DMZ клиента. Пользователь никогда не вводит свое имя пользователя или пароль в приложение SaaS.
В этом случае существующая аутентификация на основе форм заменяется аутентификацией OpenId из службы в DNZ клиента.
Третий вариант, который мы исследуем, - это федеративные службы Active Directory, но это является собственностью Active Directory. Два других решения поддерживают любую аутентификацию на основе LDAP через Интернет.
Хороший вопрос. Я также хотел бы знать –
Этот вопрос очень похож на http://stackoverflow.com/questions/8934753/how-to-authenticate-users-with-a-customers-remote-active-directory-server и http://stackoverflow.com/questions/2567919/single-sign-on-for-a-web-app –