Nodejs后台管理員登錄實例


 

思路:

直接訪問后台頁面時如果無session則跳轉到404

當在登錄頁的表單提交時對數據庫進行匹配,匹配成功生成session,否則提示用戶名或密碼錯誤

 

准備頁面 :后台首頁、登錄頁、404頁,

 

步驟:

1、初始化項目session

2、打通路口

3、連接數據庫

4、表單配對

5、session判斷

 

實例下載

 

核心代碼:

未登錄情況下訪問后台首頁會跳轉至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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM