zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    007-搭建框架-开发AOP框架
    007-安装百度云,搜狗输入法,播放器
    006-重装yum
    005-快捷键,host,查看版本
    004-ibus输入法,快捷键,浏览器
    003-centos搭建idea开发java
    002-命令行模式安装图形界面
    006-网站统计中的数据收集原理及实现
    007-sql整体概述
    017-Hadoop Hive sql语法详解7-去重排序、数据倾斜
  • 原文地址:https://www.cnblogs.com/tinyphp/p/7220006.html
Copyright © 2011-2022 走看看