SSO между двумя веб-сайтами на разных платформах

У меня есть требование, когда мне нужно реализовать SSO между двумя разными веб-сайтами.

На одном из веб-сайтов говорится, что www.abc.com написан с использованием ASP.NET и размещен на IIS 7.0. Второй веб-сайт говорит, что www.xyz.com написан с использованием PHP и использует веб-сервер Apache. Оба веб-сайта используют разные базы данных и используют разные алгоритмы для аутентификации пользователя.

Я не могу использовать сторонний SSO, поскольку это означало бы изменение аутентификации для обоих веб-сайтов. Хотел узнать, возможно ли это, и если да, то каким должен быть подход?

Заранее спасибо...


person Hari    schedule 24.04.2012    source источник
comment
Есть ли у вас совпадающие записи пользователей в каждой базе данных, т. е. существует ли идентификатор пользователя x как в приложении 1, так и в приложении 2?   -  person    schedule 25.04.2012
comment
нет, это совершенно разные веб-сайты, но у них могут быть пользователи с одинаковым идентификатором электронной почты.   -  person Hari    schedule 30.04.2012


Ответы (1)


Мы могли бы найти альтернативный подход. По сути, мы пытались решить эту проблему с помощью двух файлов cookie (по одному для www.abc.com и www.xyz.com, созданных каждым сайтом), но, поскольку мы не смогли найти способ чтения междоменных файлов cookie, мы застряли.

Но потом я наткнулся на то, как работают forums.asp.net и hotmail. Они используют live.microsoft.com для установки файла cookie аутентификации.

Теперь мы планируем создать третий веб-сайт для аутентификации пользователя. Формы входа как на www.abc.com, так и на www.xyz.com будут вызывать третий веб-сайт для установки файла cookie аутентификации. Используя этот файл cookie для аутентификации, мы сможем позволить пользователю беспрепятственно просматривать оба веб-сайта.

Кроме того, нашел очень хорошую статью об этой реализации. http://www.codeproject.com/Articles/114484/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic

person Hari    schedule 25.04.2012