Page 118 - Node.js开发指南
P. 118
5.6 用户注册和登录 111
app.configure(function(){ 1
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ 2
secret: settings.cookieSecret,
store: new MongoStore({
db: settings.db
})
3
}));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
其中 express.cookieParser() 是 Cookie 解析的中间件。express.session() 则 4
提供会话支持,设置它的 store 参数为 MongoStore 实例,把会话信息存储到数据库中,
以避免丢失。
在后面的小节中,我们可以通过 req.session 获取当前用户的会话对象,以维护用
户相关的信息。 5
5.6.3 注册和登入
我们已经准备好了数据库访问和会话存储的相关信息,接下来开始实现网站的第一个功 6
能,用户注册和登入。
1. 注册页面
首先来设计用户注册页面的表单,创建 views/reg.ejs 文件,内容是:
7
<form class="form-horizontal" method="post">
<fieldset>
<legend>用户注册</legend>
<div class="control-group">
<label class="control-label" for="username">用户名</label> 8
<div class="controls">
<input type="text" class="input-xlarge" id="username" name="username">
<p class="help-block">你的账户名称,用于登录和显示。</p>
</div>
9
</div>
<div class="control-group">
<label class="control-label" for="password">口令</label>
<div class="controls">
<input type="password" class="input-xlarge" id="password" name="password">
10
</div>