简短的回答:线高达$就向401(未授权)状态代码响应。
龙答:我们正在消耗从单页网站一个RESTful API。当服务器检测到未经授权的请求时,它只返回一个401.客户端将重定向到/ login?#requested/resource。
/login
会提示进行授权(重定向到我们的情况下,谷歌的誓言服务器),然后添加一个授权cookie,并重定向到最初请求#requested/resource
我们也发送每$阿贾克斯要求身份验证的cookie。
希望这是有帮助的。
define(
[
'jquery',
'jquery.cookie'
],
function ($) {
var redirectToLogin = function() {
var locationhref = "/login";
if (location.hash && location.hash.length > 0) {
locationhref += "?hash=" + location.hash.substring(1);
}
location.href = locationhref;
};
var $doc = $(document);
$doc.ajaxSend(function (event, xhr) {
var authToken = $.cookie('access_token');
if (authToken) {
xhr.setRequestHeader("Authorization", "Bearer " + authToken);
}
});
$doc.ajaxError(function (event, xhr) {
if (xhr.status == 401)
redirectToLogin();
});
});
注册,注册及身份验证使用Javascript?我会说不。使用Php,Erlang,Python,Asp.net使用后端框架来放置这些作品。用户登录后,设置一个cookie(我能想到的最佳解决方案)。 **每个**'xml http'请求都将拥有可帮助您验证服务器端用户的cookie。在服务器和身份验证中需要做某些事情,授权就是其中之一。在 – Deeptechtons 2012-07-06 11:27:15
用户登录这就是我说的,我的问题,但我想知道如果我的方法是处理在登录或未经授权的用户 – jamcoupe 2012-07-06 12:38:17