Express 4.8.x—路由权限控制技巧
doramart2015-10-17 05: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
推荐阅读
微信客服
微信公众号