本文为大家分享nodejs个人博客开发的后台登录,具体内容如下
定义背景路径
访问此路径进入后台页面http://本地主机:8888/管理员/登录
在后台路由控制器(/admin/index.js)中调用登录控制器(/admin/login.js)
//调用router对象的使用方法,使用路由中间件router.use ('/login ',require('。/log in’);在登录控制器中,定义登录界面的路由和登录提交验证的路由。在这里,您需要获取表单发布提交的数据,并且需要使用一个名为body-parser的中间件
/* * *后台登录控制器*/var router=express。路由器();//引用中间件var body parser=required(' body-parser ');//使用以下中间件方法router . use(body parser . URL encoded({ extended : true });//用于解析application/x-www-form-URL encoded/* interface */router . get('/'),function (req,res,next){ RES . render(' admin/log in ');});/*验证*/router.post ('/'),function (req,RES,next){//用最简单的write if (req)验证密码。body . password==' Tao shihan '){//record session req . session . adminid=1;RES . redirect('/admin ');}else{ res.send('错误的密码!');}});module.exports=路由器;后台主页判断是否有权限
后台在进程中判断值。如果没有登录,跳到登录页面拒绝进入。这里需要两个中间件快速会话和cookie解析器
var session=require(' express-session ');var cookieParser=require(' cookie-parser ');var路由器=express。路由器();//使用以下会话和cookier outer . use(cookieParser());router . use(session({ secret : ' 12345 ',name :' nodejs-blog ',//这里的name值是cookie的名称,默认cookie的名称是:connect。sid cookie : { MaxAge : 800000 }。//将maxage设置为80000ms,即80s后,session和对应的cookie将过期。保存3360假,保存未初始化的3360真。});认证机构有一个公共认证控制器/admin/auth.js。
/* * *认证控制器*/var auth=function(路由器){ /*认证机构*/router.use (function (req,RES,next) {if(!req . session . adminid){ RES . redirect('/admin/log in ');} next();});} module.exports=auth在需要认证的地方调用这个路由中间件
/*身份验证权限*/require('。/auth ')(路由器);
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。