我在任何地方都找不到太多关于这方面的信息。大多数示例应用程序都没有讨论安全性等问题。假设用户将使用基于REST的API调用进行身份验证。应该如何构建应用程序来处理身份验证[还包括授权]。提供一个示例应用程序的指针将是很好的。请考虑单页应用程序和普通应用程序的视图。 [我认为每个视图都应该负责它]
我在任何地方都找不到太多关于这方面的信息。大多数示例应用程序都没有讨论安全性等问题。假设用户将使用基于REST的API调用进行身份验证。应该如何构建应用程序来处理身份验证[还包括授权]。提供一个示例应用程序的指针将是很好的。请考虑单页应用程序和普通应用程序的视图。 [我认为每个视图都应该负责它]
var ErrorHandlerModel = Backbone.Model.extend({
initialize: function(attributes, options) {
options || (options = {});
this.on("error", this.errorHandler);
this.init && this.init(attributes, options);
},
errorHandler: function(model, error) {
if (error.status == 401 || error.status == 403) {
app.history.navigate('login', true);
}
}
});
var Login = Backbone.Model.extend({
urlRoot: '/login',
parse: function(resp,xhr) {
if (resp.response == 'success') {
app.history.navigate('dashboard', true);
}
else {
this.trigger('loginError');
}
return false;
}
});
我同意Mu的评论。在认证方面,没有太多可谈论的。
对于使用标准HTML应用程序向服务器提交数据的身份验证,您应该按照应该完成的方式进行处理。
在授权方面,有一些需要讨论的内容,但并不多。基本上,您只需向用户发送他们被允许查看的内容。除非绝对必要,否则不要在浏览器中执行授权或认证代码。根据我的经验,这从未是绝对必要的。
浏览器中的JavaScript不安全,因此不要在浏览器中执行依赖于身份验证和授权的操作。
我写了一篇关于这方面的小文章,链接在这里:http://lostechies.com/derickbailey/2012/01/26/modularity-and-security-in-composite-javascript-apps/