users.json

{
"tobi": {
"password": "ferret",
"name": "Tobi Holowaychuk"
}
}

session.js

var connect = require('connect')
var users = require('./users') var server = connect(
connect.logger('dev'),
connect.bodyParser(),
connect.cookieParser(),
connect.session({secret: 'my app secret'}),
function(req, res, next) {
if ('/' == req.url && req.session.logged_in) {
res.writeHead(200, {'Content-Type': 'text/html'})
res.end('Welcome back, ' + req.session.name + '<a href="/logout">Logout</a>')
} else {
next()
}
},
function(req, res, next) {
if ('/' == req.url && 'GET' == req.method) {
res.writeHead(200, {'Content-Type': 'text/html'})
res.end([
'<form action="/login" method="POST">',
'<input type="text" name="user">',
'<input type="password" name="password">',
'<button>Submit</button>',
'</form>'
].join(''))
} else {
next()
}
},
function(req, res, next) {
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) {
if ('/logout' == req.url) {
req.session.logged_in = false
res.writeHead(200)
res.end('Logged out')
} else {
next()
}
}
) server.listen(3000)

【session】的更多相关文章

  1. 【cookie的使用】&【Session】

    明确一点:        cookie由服务器创建Cookie cookie=new Cookie("haha","xixi") 通过HtttpServletR ...

  2. 【Session】Tomcat中Session的外置

    > 参考的优秀文章 Tomcat Session 持久化 Package org.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化. ...

  3. 【Session】Tomcat中Session持久化到文件系统或数据库

    参考的优秀文章 Tomcat Session 持久化 Package org.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化.共享也不太 ...

  4. 【Tomcat】Tomcat Session在Redis共享

    参考的优秀文章 Redis-backed non-sticky session store for Apache Tomcat 简单地配置Tomcat Session在Redis共享 我使用的是现有的 ...

  5. 【转】MVC4验证用户登录特性实现方法

    在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性. // 摘要: // 表示一个特性,该特性用于限制调用方对操作方法的访问. [AttributeUsage(Attribu ...

  6. 【学习】018 Spring框架

    Spring的概述 Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架. 且可以和其他框架一起使用:Spring与Struts,  Spring与hibernate (起到整合(粘合)作 ...

  7. 【转】ora-00031:session marked for kill处理oracle中杀不掉的锁

    一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...

  8. PHP5 session 详解【经典】 -- 转帖

    PHP5 session 详解[经典] http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越 ...

  9. 【Spring】Spring IOC原理及源码解析之scope=request、session

    一.容器 1. 容器 抛出一个议点:BeanFactory是IOC容器,而ApplicationContex则是Spring容器. 什么是容器?Collection和Container这两个单词都有存 ...

随机推荐

  1. 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法

    要想使用grid里的扩展搜索功能,除了要引用ligerui主要的js文件外,还必须引入下面的JS文件: 1.Source\demos\filter\ligerGrid.showFilter.js 2. ...

  2. SQL 编译与重编译

    编译的含义 当SQLSERVER收到任何一个指令,包括查询(query).批处理(batch).存储过程.触发器(trigger) .预编译指令(prepared statement)和动态SQL语句 ...

  3. oracle_11g 不同用户之间的数据迁移

    众所周知,IMP工具的FROMUSER和TOUSER参数可以实现将一个用户的的数据迁移到另外一个用户.同样的功能在IMPPDP工具中如何得以体现呢?答案就是:使用IMPPDP的REMAP_SCHEMA ...

  4. AVAudioSession 的 AVAudioSessionCategory 和 AVAudioSessionCategoryOptions 相关

    AVAudioSessionCategory相关 AVAudioSessionCategoryAmbient 使用这个category的应用会随着静音键和屏幕关闭而静音.并且不会中止其它应用播放声音, ...

  5. NSArray 常用的一些方法

    - (NSUInteger) count; 返回数组中元素个数 - (id)objectAtIndex:(NSUInteger)index; 返回一个id类型的数组指定位置元素 - (id)lastO ...

  6. Javascript 数组自定义排序,并获取排序后的保存原索引的同序数组(堆排序实现)

    比如数组A: [ 0: 5, 1: 2, 2: 4, 3: 3, 4: 1 ] 排序后的结果为:[1, 2, 3, 4, 5],但是有时候会有需求想要保留排序前的位置到一个同位数组里,如前例则为:[4 ...

  7. linux命令之端口占用

    1.lsof命令 eg: lsof -i:8080,这里显示8080端口在被java使用,状态是LISTEN, 可以使用killall 进程名(killall java) 结束占用端口的进程(不建议, ...

  8. apache虚拟主机安装注意事项

    apache虚拟主机在添加的时候,总是会有一些莫名其妙的问题,后来发现可以使用一个参数去验证的: xxxxx/httpd -S //这个参数会去检查虚拟主机配置的正确性,很好用 因为有时候可能就是缩进 ...

  9. MySql中常用语句

    1.查询语句: SELECT  查询字段  FROM  表名   WHERE 条件 查询字段可以使用 通配符* 字段名 别名(把长的名字命名一个别名,比较短的) 通配符:SELECT * FROM ' ...

  10. 响应式页面字体用什么单位:rem

    html:62.5%//10pxbody:1.4rem;//14px... <!doctype html> <html> <head> <title>a ...