【发布时间】:2017-02-22 10:44:22
【问题描述】:
我有一个简单的 Backbone.js 应用程序,其中包含具有不同角色的 User 模型,我使用 json-server 来模拟一些后端基础知识。我需要进行基本身份验证——即我需要我的用户能够登录并在某处保存他的会话(因为他每次刷新浏览器时都不需要登录)。我有一个db.json 文件,其中已经有一些用户:
{
"users": [
{
"login": "admin",
"password": "password",
"role": "admin",
"id": 1
}
]
}
这是我的User 模型:
var User = Backbone.Model.extend({
defaults: {
login: "",
password: "",
role: ""
},
// Updated
url: function () {
return "http://localhost:3000/users?login=" +
this.attributes.login + "&password=" + this.attributes.password;
}
});
我不太了解如何管理身份验证(即在表单中输入 login 和 password 并在没有适当后端的情况下存储用户会话)。我想过在我的User 模型中创建一个token 字段,并在每次用户登录时填写并将其保存在cookie 中,但我不明白我怎么能这样做。如果有人可以帮助我完成这项任务,我将不胜感激。
添加在我看来这是我的登录功能:
signIn: function () {
var login = $('#js-login').val();
var password = $('#js-password').val();
if (login && password) {
var currentUser = new User({
login: login,
password: password
});
currentUser.fetch({
success: function () {
console.log(currentUser.toJSON());
},
error: function (err) {
console.log(err);
}
});
}
}
但不是从我的 json-server 中查找用户,它只是创建一个新用户,除了 #js-login 和 #js-password 输入字段的值之外,所有属性都为空
添加我想我应该在我的收藏中通过上面url 中的查询找到我的用户,但我实际上不知道如何管理它
【问题讨论】:
标签: javascript jquery session backbone.js login