如题,使用node.js的express模块怎么实现类似于java中的过滤器使得未登陆的用户不能访问后台,哪位大神能介绍一下思路或者给点阅读的资料~拜谢!
其实最简单就是用中间件 app.use() 这个的概念跟java 的过滤器基本用法一样…
推荐去看下nswbmw大神写的N-blog,里面有涉及到~
自己写一个中间件啊
+1
小白一个,给点资料?
谢谢!我会关注的~
谢谢!
Thanks!
@ljgstudy 你可以看一下express的官方API,将你写的中间件放在你要管理的路由的上方,因为js是由上向下执行的 比如:
app.get('/post',checkLogin);
app.get('/post',function(req,res){
res.render('post',{
//do something
});
});
var checkLogin = function (req,res,next){
// do something
next();
}
这样就实现了一个简单的权限管理。
app.use(function(req,res){
res.render("404");
});
这段代码放在路由的最下端,也就是express模板找不到匹配的路由,就执行最下面的这个404中间件了。 一般而言中间价都是app.use();定义的,具体的你可以根据你自己的业务经行写,你也可以用来做运行日志。:) 希望这能给你有帮助。
@struCoder 很详细,谢谢大神指点!!
买书看吧少年
推荐一本?
开源博客系统liblog已经具备权限管理,方便可以自定义,并且开放源码,可以参照他看一下http://livisky.github.io/
可以实现一个Express的中间件(或者叫过滤器),对请求进行权限检查。不过这个东西没必要重头写,这里有现成的:https://github.com/node-casbin/express-authz