如何用node.js登录用户表示backbone.js mongodb?

pay*_*ike 2 mongodb node.js express backbone.js

我对nodejs和骨干很新,它很混乱

登录:

在客户端我使用骨干.

模型

var testModel = Backbone.Model.extend({
    url:'api/test',
    defaults:{
        login:false,
        apikey:{},
    },

    initialize:function(){
        this.bind('change:apikey',this.onApiKeyChange,this);
        // this.set({'apikey': localStorage.getItem('apikey')});
    },

    setApiKey:function(apikey){
        localStorage.setItem('apiKey', apikey);
        this.set({'apikey':apikey});
    },

    onApiKeyChange:function(){
        // console.log(this.toJSON())
        //login here
    }
});
Run Code Online (Sandbox Code Playgroud)

视图

var testView = Backbone.View.extend({
    el:'#content',
    events:{
        'submit #loginForm':'login',
    },

    login:function(e){
        e.preventDefault();
        this.model.setApiKey({name:this.$('input[name=username]').val(),password:this.$('input[name=password]').val()});
    }
})
var test= new testView({model:new testModel()});
Run Code Online (Sandbox Code Playgroud)

因此,当用户提交表单时,模型会发生更改并触发onApiKeyChange(),如果用户登录onApiKeyChange()则应使用用户详细信息更新模型.我不知道怎么做,骨干如何发送这样的请求?

服务器端:

 var express = require('express');
 var routes = require('./routes');
 var http = require('http');
 var mongoose = require('mongoose');


 var app = express();

 mongoose.connect('mongodb://localhost/test');
 var User = mongoose.model('User',new mongoose.Schema({
    name:String,
    password:String,
 }));

 app.configure(function(){
 app.set('port', process.env.PORT || 3000);
 app.set('views', __dirname + '/views');
 app.set('view engine', 'jade');
 app.use(express.favicon());
 app.use(express.logger('dev'));
 app.use(express.bodyParser());
 app.use(express.cookieParser());
 app.use(express.session({ secret: "keyboard cat" }));
 app.use(express.methodOverride());
 app.use(app.router);
 app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);
app.get('/api/test', someFunction());

http.createServer(app).listen(app.get('port'), function(){
 console.log("Express server listening on port " + app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)

服务器端只是基本的快递app.js,我不知道如何使用会话.

我知道这可能是一个基本问题,但我不知道.请给我一些建议或者告诉我一些简单的初学者教程.

Cla*_*jda 7

我个人使用PassportJS进行身份验证,只有在用户通过身份验证后,他才能访问我使用骨干网的"单页应用".这是一个对我来说很有帮助的项目LostAndFound