Другое решение, которое я нашел (особенно полезно, если вы хотите установить глобальное поведение), заключается в использовании метода $.ajaxsetup()
вместе с свойством statusCode
. Как и другие указатели, не используйте код статуса перенаправления (3xx
), вместо этого используйте код статуса 4xx
и обрабатываете клиентскую сторону с переадресацией.
$.ajaxSetup({
statusCode : {
400 : function () {
window.location = "/";
}
}
});
Замените 400
кодом состояния вы хотите справиться. Как уже упоминалось 401 Unauthorized
, может быть хорошей идеей. Я использую 400
, поскольку он очень неспецифичен, и я могу использовать 401
для более конкретных случаев (например, неправильные учетные данные). Поэтому вместо перенаправления непосредственно ваш backend должен возвращать код ошибки 4xx
, когда время ожидания сеанса и вы обрабатываете клиентскую часть перенаправления. Работает идеально для меня даже с фреймворками, такими как backbone.js
Многие достойные библиотеки перечислены здесь: http://wiki.openid.net/Libraries
Модуль OpenID Drupal начался, пользуясь библиотекой JanRain в 4.7.x , который является обычно используемой реализацией OpenID в PHP.
Вы не должны загружать библиотеку в Drupal, потому что он уже встроен в ядро Drupal.
Платформа зенда также разработала Компонент OpenID , который может использоваться в качестве автономного (т.е. не зависящий от остальной части платформы), или, по крайней мере, требует минимального взаимодействия (я полагаю, что это использует объект ответа для перенаправления).
Так или иначе, это - еще одна Опция, и особенно полезный, если создание ZF поддержало сайт.
При хостинге сайта на машине Linux должен быть php-openid пакет, который можно установить, который предоставит Вас открытую идентификационную клиентскую библиотеку, которой можно пользоваться для включения открытых идентификационных логинов. Пакет идет с хорошим примером кода для запущения Вас. Если Вы не запускаете Linux, или Ваше распределение не имеет php-openid, я на 99% уверен, что php-openid на основе (или непосредственно), php библиотека JanRain.com, таким образом загружая его непосредственно должна получить Вас то же самое.
Я только поглядел на него, но делаю , http://www.saeven.net/openid.htm добивается цели для Вас?
Stack Overflow использует эту библиотеку для горячего интерфейса javascript: http://code.google.com/p/openid-selector/