欢迎您访问DoraCMS 您可以登录 或注册
  • 微信客服:476847113微信客服
  • 微信公众号微信公众号
您现在的位置是:首页 > Express

Express 4.8.x—路由权限控制技巧

doramart2015-10-17 13:19:34
下面是个例子:路由文件 router/user.js

路由权限控制技巧

下面是个例子:

路由文件 router/user.js

var router = require(“express”).Router();

router.get(“/create”,function(req,res){
res.send(“create user”);
})

module.exports = router;

服务器文件 server.js

var app = require(“express”)();

// 加入路由
app.use(“/user”,require(“./router/user”));

app.listen(3000);

运行服务器后,我们访问,浏览器会出现 “create user” ,如果我们要加入验证,可以修改 user.js 文件:

var router = require(“express”).Router();

router.get(“/create”,function(req,res){
    if(req.query.name === “leo”){
   res.send(“create user”);
}else{
       res.send(“error!”);
}
})

module.exports = router;

这种方式好吗?答案是还可以,不过还有更好的办法,如果我们能做到逻辑和验证彻底分离那就更好了!

我们创建一个 validat.js 验证文件:

var router = require(“express”).Router();

router.get(“/create”,function(req,res,next){
    if(req.query.name === “leo”){
   next();
}else{
       res.send(“error!”);
}
})

module.exports = router;

再修改一下 server.js 文件:

var app = require(“express”)();

// 加入验证器
app.use(“/user”,require(“./validat”));

// 加入路由
app.use(“/user”,require(“./router/user”));

app.listen(3000);

当有请求访问 /user/create 的时候,会先走验证器,验证器如果调用 next() 方法,才会进入 /router/user的路由处理器。

所有文章未经授权禁止转载、摘编、复制或建立镜像,违规转载法律必究。

举报邮箱:doramart@qq.com

相关标签: express
取消回复
登录 参与评论

评论列表(