nodeJs session记住登录信息
2016-04-13 17:34
501 查看
var connect = require('connect'), users = require('./users');//注意这里直接require了json文件 当你只是对外暴露数据的时候 就不需要加上module.exports 直接把数据文件以JSON的形式暴露出来就好 var server = connect( connect.logger('dev'), connect.bodyParser(), connect.cookieParser(), connect.session({secret: 'my app secret'}),//这句不能少 否则 会报错找不到 req.session.logged_in function (req, res, next) { console.log("1"); if ('/' == req.url && req.session.logged_in) { res.writeHead(200, {'Content-TYpe': 'text/html'}); res.end('Welcome back,<b>' + req.session.name + '</b>.' + '<a href="/logout">Logout</a> '); } else { next(); } }, function (req, res, next) { console.log("2"); if (req.url == '/' && 'GET' == req.method) { res.writeHead(200, {'Content-TYpe': 'text/html'}); res.end([ '<form action="/login" method="POST">', '<fieldset>', '<legend>Please Log In</legend>', '<p>User:<input type="text" name="user"></p>', '<p> Password:<input type="password" name="password"></p>', '<button>Submit</button>', '</fieldset>', '<form>' ].join('')); } else next(); }, //检查登录信息是否与用户凭证匹配 function (req, res, next) { console.log("3"); if ('/login' == req.url && 'POST' == req.method) { res.writeHead(200); if (!users[req.body.user] || req.body.password != users[req.body.user].password) { res.end('Bad username/password'); } else { req.session.logged_in = true; req.session.name = users[req.body.user].name; res.end('Authenticated'); } } else { next(); } }, //处理登出的中间件 function (req, res, next) { console.log("4"); if ('/logout' == req.url) { req.session.logged_in = false; res.writeHead(200); res.end('Logged out!'); } else { next(); } } ); server.listen(3000);
users伪数据如下:
{ "fangchao":{ "password":123456, "name":"fangchao's name" } }
相关文章推荐
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 杰奇登录后的东西都是在session里面的
- 使用ruby部署工具mina快速部署nodejs应用教程
- ASP中SESSION无法保存问题的解决办法
- Oracle中的Connect/session和process的区别及关系介绍
- Google官方支持的NodeJS访问API,提供后台登录授权
- 浅谈Nodejs观察者模式
- nodejs教程之环境安装及运行
- nodejs中的fiber(纤程)库详解
- 基于NodeJS的前后端分离的思考与实践(五)多终端适配
- 基于NodeJS的前后端分离的思考与实践(二)模版探索
- Node.js编程中客户端Session的使用详解
- 实例详解Nodejs 保存 payload 发送过来的文件
- 我的NodeJs学习小结(一)
- Node.js 应用跑得更快 10 个技巧
- nodejs中实现sleep功能实例
- Nodejs异步回调的优雅处理方法
- Windows系统下使用Sublime搭建nodejs环境
- nodejs实现获取某宝商品分类