本文主要是介绍Node写博客--普通用户和管理员功能的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 %}
这篇关于Node写博客--普通用户和管理员功能的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!