登录后台
需要监听用户的访问地址,只有管理员才能登录后台
在后台的路由admin.js:
// 监听用户的访问地址,只有管理员能登录后台 router.use(function(req,res,next){ // 判断url地址 // 是否可以直接进行访问 if (req.url != "/login" && req.url != "/check") { // 判断是否登录 if (req.session.YzmMessageIsAdmin && req.session.YzmMessageUsername) { next(); }else{ res.send("<script>alert('请登录');location.href='/admin/login'</script>"); } }else{ next(); } });
// 登录页面 router.get("/login",function(req,res,next){ res.render("admin/login.html"); });
登录页面:
进行处理登录的操作:
// 登录处理操作 router.post("/check",function(req,res,next){ // 接受数据 let {username,password} = req.body; username+="" // 判断 if (username) { if (password) { // 密码加密 let md5 = crypto.createHash('md5'); password = md5.update(password).digest('hex'); // 判断数据库中是否存在该用户 mysql.query("select * from admin where username = ? and password = ? and status = 0",[username,password],function(err,data){ if (err) { return "" }else{ if (data.length) { req.session.YzmMessageIsAdmin = true; req.session.YzmMessageUsername = data[0].username; res.send("<script>alert('登录成功');location.href='/admin/'</script>"); }else{ res.send("<script>alert('登录失败');location.href='/admin/login'</script>"); } } }); }else{ res.send("<script>alert('请登录');location.href='/admin/login'</script>"); } }else{ res.send("<script>alert('请登录');location.href='/admin/login'</script>"); } })
登录的效果如下:
退出后台登录:
当点击
在后台路由中写入
// 退出路由 router.get("/logout",function(req,res,next){ req.session.YzmMessageIsAdmin = false; req.session.YzmMessageUsername = ""; res.send("<script>alert('退出成功');location.href='/admin/login'</script>"); });
在后台首页写入logout:
<a class="button button-little bg-red" href="/admin/logout"><span class="icon-power-off"></span> 退出登录</a>
最终实现的效果图:
整个后台的路由:
1 //导入express 2 3 let express=require("express"); 4 5 6 //实例化 7 8 let router=express.Router(); 9 const crypto = require('crypto'); 10 const mysql = require("../config/db.js"); 11 12 13 // 监听用户的访问地址,只有管理员能登录后台 14 15 router.use(function(req,res,next){ 16 // 判断url地址 17 // 是否可以直接进行访问 18 if (req.url != "/login" && req.url != "/check") { 19 // 判断是否登录 20 if (req.session.YzmMessageIsAdmin && req.session.YzmMessageUsername) { 21 next(); 22 }else{ 23 res.send("<script>alert('请登录');location.href='/admin/login'</script>"); 24 } 25 }else{ 26 next(); 27 } 28 }); 29 // 登录页面 30 router.get("/login",function(req,res,next){ 31 res.render("admin/login.html"); 32 }); 33 34 35 36 // 登录处理操作 37 router.post("/check",function(req,res,next){ 38 // 接受数据 39 40 let {username,password} = req.body; 41 username+="" 42 43 // 判断 44 if (username) { 45 if (password) { 46 // 密码加密 47 let md5 = crypto.createHash('md5'); 48 password = md5.update(password).digest('hex'); 49 50 // 判断数据库中是否存在该用户 51 mysql.query("select * from admin where username = ? and password = ? and status = 0",[username,password],function(err,data){ 52 53 if (err) { 54 return "" 55 }else{ 56 57 if (data.length) { 58 req.session.YzmMessageIsAdmin = true; 59 req.session.YzmMessageUsername = data[0].username; 60 res.send("<script>alert('登录成功');location.href='/admin/'</script>"); 61 62 }else{ 63 res.send("<script>alert('登录失败');location.href='/admin/login'</script>"); 64 } 65 } 66 }); 67 }else{ 68 res.send("<script>alert('请登录');location.href='/admin/login'</script>"); 69 } 70 }else{ 71 res.send("<script>alert('请登录');location.href='/admin/login'</script>"); 72 } 73 }) 74 75 76 // 退出路由 77 router.get("/logout",function(req,res,next){ 78 req.session.YzmMessageIsAdmin = false; 79 req.session.YzmMessageUsername = ""; 80 res.send("<script>alert('退出成功');location.href='/admin/login'</script>"); 81 82 }); 83 84 85 86 //后台首页路由 87 88 router.get('/',function(req,res,next){ 89 90 //加载对应的后台页面 91 res.render("admin/index"); 92 93 }); 94 95 //后台欢迎页面 96 97 router.get('/welcome',function(req,res,next){ 98 99 100 //加载对应的后台欢迎页面 101 res.render("admin/welcome"); 102 103 104 105 }) 106 107 108 //管理员管理,导入管理员管理的路由 109 110 let adminRouter=require('./admin/admin'); 111 112 router.use('/admin',adminRouter); 113 114 //会员管理 115 116 let userRouter=require('./admin/user'); 117 118 router.use('/user',userRouter); 119 120 121 122 //栏目管理 123 124 125 126 //轮播图管理 127 let sliderRouter=require('./admin/slider'); 128 129 router.use('/slider',sliderRouter); 130 131 132 133 // 新闻分类管理 134 let typeRouter = require('./admin/newtype.js'); 135 router.use('/type',typeRouter); 136 137 // 新闻管理 138 let newsRouter = require('./admin/news.js'); 139 router.use('/news',newsRouter); 140 141 // 评论管理 142 let commentRouter = require('./admin/comment.js'); 143 router.use('/comment',commentRouter); 144 145 146 147 // 系统管理 148 let systemRouter = require('./admin/system'); 149 router.use('/system',systemRouter); 150 151 152 module.exports=router;