Единый вход с Ajax в едином мире политики происхождения - эффективные решения - PullRequest
4 голосов
/ 17 августа 2011

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

Я искал в Google, и для этого есть много хаков.Но я должен поддерживать даже старые браузеры (например, IE6).И эти хаки не всегда работают

Предложения решений и недостатки:

  • изменить домен документа // это не работает Ajax-способом
  • JSNOP // требуется передавать учетные данные в GET, поэтому он небезопасен
  • CORS // только для новых браузеров: IE8 +, FF3.5 +
  • Flash API // В браузере должен быть установлен флэш-плагин
  • easyXDM // Кажется, это известные решения (его использует Twitter).

PS.Кто-нибудь тестировал easyXDM в ie6?

Ответы [ 3 ]

3 голосов
/ 17 августа 2011

Один из простых способов сделать это - написать простой веб-сервис в вашем домене, который проксирует домен SSO. Никаких браузерских программ, простых в реализации (относительно) и не взломанных.

Обратите внимание, что если ваше решение единого входа не обрабатывает авторизацию (т. Е. Информацию о роли для ограничения действий пользователя), это потребуется вашему серверному приложению, и в этом случае вам потребуется прокси-сервер для настройки авторизации в вашем приложении.

0 голосов
/ 17 августа 2011

Вы также можете использовать iframe и url fragment для передачи сообщений между различными доменами. Он поддерживает все браузеры и плагин не требуется . Это ссылка для деталей этого гениального решения, http://softwareas.com/cross-domain-communication-with-iframes

0 голосов
/ 17 августа 2011

OpenID кажется достаточно хорошим для StackOverflow: http://openid.net/developers/

...