思路:ajax
直接訪問後臺頁面時若是無session則跳轉到404數據庫
當在登陸頁的表單提交時對數據庫進行匹配,匹配成功生成session,不然提示用戶名或密碼錯誤express
準備頁面 :後臺首頁、登陸頁、404頁,session
步驟:async
一、初始化項目sessionmongoose
二、打通路口post
三、鏈接數據庫測試
四、表單配對ui
五、session判斷this
核心代碼:
未登陸狀況下訪問後臺首頁會跳轉至404頁面
後臺頁面的js判斷:
$(document).ready(function() { //未登錄自動跳轉到登錄頁 if (sessionStorage.getItem("admin") !== "1") { location.href = "/admin/404/"; }
登陸成功後調整到後臺首頁並生成session,表單提交的js判斷
$(document).ready(function() { //登陸表單文本框裝飾效果 $('.g-inputTxt').click(function(){ $('.g-inputTxt').removeClass('g-inputTxt-focus'); $(this).addClass('g-inputTxt-focus'); }); }); var verifyCode = new GVerify("v_container"); function ck(){ var username = $('#username').val(); var password = $('#password').val(); var yzm=verifyCode.validate($("#code_input").val()); var result=""; //若是用戶名爲空 if (username == "") { $('.loginmsg').text("用戶名不爲空!"); $('.loginmsg').show(); return false; } //若是密碼爲空 if (password == "") { $('.loginmsg').text("密碼不爲空!"); $('.loginmsg').show(); return false; } if(!yzm){ $('.loginmsg').text("驗證碼不正確!"); $('.loginmsg').show(); return false; } //傳遞表單數據 $.ajax({ url:'/admin/logincheck', type:"post", data:{ username:username, password:password }, async: false, success:function(flag){ result=flag; } }); //根據返回結果判斷 if(result=="0"){ $('.loginmsg').text("用戶名或密碼錯誤!"); $('.loginmsg').show(); return false; }else{ sessionStorage.setItem("admin","1"); location.href="/admin/"; return false; } }
數據庫查詢部分
var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); var userModel = mongoose.model('user'); /* 後臺首頁 */ router.get('/admin/', function(req, res, next) { res.render('admin', { title: '後臺首頁' }); }); /* 檢查頁 */ /*登陸*/ router.post('/admin/logincheck',function(req,res,next){ var username=req.body.username; var password=req.body.password; var cond = { $and:[ {username:username}, {password:password} ] } userModel.findOne(cond,function(err,doc){ if(doc==null){ res.send("0"); console.log("登陸失敗"); }else{ res.send("1"); console.log("登陸成功"); } }); }); module.exports = router;
user管理員表增長管理員測試登陸----------------------------------------var user={"username":"admin","password":"123456"}db.users.insert(user);