Express 4.8.x—路由权限控制技巧
下面是个例子:路由文件 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
的路由处理器。
很赞哦! ( 0
)