Моя компания разрабатывает и продает приложение SaaS, в котором сотни клиентов. Некоторые из наших клиентов попросили нас поддерживать интеграцию LDAP для аутентификации учетных записей пользователей с их существующими системами вместо того, чтобы создавать другую учетную запись для каждого из своих сотрудников. Похоже, что во многих местах это называется Single Sign On (SSO)? Естественно, наша система уже имеет механизм для поддержания профилей учетной записи пользователя и аутентификации этих учетных записей пользователей на нашей странице входа.
Мы немного незнакомы с LDAP и сбиты с толку о некоторых вещах. Пожалуйста, извините за возможное использование неправильной терминологии (помните, мы немного невежественны об этом).
Мы думаем, что понимаем основы того, как это может работать:
- Наш клиент настраивает свою учетную запись для "включения" функции "удаленной аутентификации" для своей учетной записи. Они предоставляют удаленный URL-адрес, который будет аутентифицировать своих пользователей.
- Пользователи приходят на нашу страницу входа в систему и пытаются войти в систему, используя свое имя пользователя и пароль, предоставленные их системой LDAP компании.
- Наша страница входа в систему будет безопасно перенаправлять учетные данные для входа (предположительно зашифрованные и хешированные в некотором согласованном формате) на URL-адрес "удаленной аутентификации", предоставленный нашим клиентом.
- Клиент script будет аутентифицировать пользователя, а затем перенаправить его обратно на наш сайт с "статусом аутентификации".
- На нашей странице будет проанализирован "статус аутентификации" и либо будет принят пользователем, либо зарегистрирован.
Предполагая, что приведенная выше информация является даже неполной, нам все равно потребуется, чтобы каждый пользователь имел учетную запись в нашей системе. Не нужно ли нам каким-либо образом синхронизировать профили учетных записей пользователей с профилями пользователей в каталоге LDAP? Это просто "внешний идентификатор", который ссылается на идентификатор пользователя в системе LDAP? Будет ли тогда потребоваться, чтобы клиент "удаленная аутентификация" script должен предоставить этот идентификатор нашей системе, чтобы мы знали, какая учетная запись пользователя в нашей системе должна связывать логин с?
Что нам не хватает?
BTW, наша платформа - IIS, ASP.Net 2.0 и SQL Server 2005.