1.在schema/users.js中新增是否是管理员的字段
//连接数据库
var mongoose=require('mongoose');
//数据库操作文档,可以查看http://mongoosejs.com
//schema=mongoose.Schema;表示数据库中的一个表
//用户的表结构,对外界进行提供,将new出来的用户对象暴露出去
module.exports = new mongoose.Schema({
//用户名
username:String,
//密码
password:String,
//是否是管理员,是否为管理员呢这个信息最好不好记录在cookie中
isAdmin:{
type:Boolean,
default:false
}
});
2.在Robomongodb中新增一条管理员数据
{
"username":"admin",
"paaword":"admin",
"isAdmin":true
}
3.在app.js中修改之前的cookie信息
//引入models类型
var User = require('./models/User');
//对cookie进行相关设置
app.use(function (req,res,next) {
req.cookies = new Cookies(req,res);
//设置一个全局访问的页面,解析用户登录的cookie信息
req.userInfo={};
if(req.cookies.get('userInfo')){
try{
req.userInfo=JSON.parse(req.cookies.get('userInfo'));
//获取当前登录用户的类型,是否是管理员,实时的
User.findById(req.userInfo._id).then(function (userInfo) {
req.userInfo.isAdmin = Boolean(userInfo.isAdmin);
next();
})
}catch (e){
next();
}
}else{
next();
}
});
4.在index.html中对登录后的管理员进行判定
{% if userInfo.isAdmin %}
<p>
<span class="colDanger">你好,管理员!</span>
<a href="/admin">进入管理</a>
</p>
{% else %}
<p><span class="colDanger">你好,欢迎光临我的博客!</span></p>
{% endif %}