如题,使用node.js的express模块怎么实现类似于java中的过滤器使得未登陆的用户不能访问后台,哪位大神能介绍一下思路或者给点阅读的资料~拜谢!
回复 (14)
H
可以实现一个Express的中间件(或者叫过滤器),对请求进行权限检查。不过这个东西没必要重头写,这里有现成的:https://github.com/node-casbin/express-authz
Y
其实最简单就是用中间件 app.use() 这个的概念跟java 的过滤器基本用法一样..
I
推荐去看下nswbmw大神写的N-blog,里面有涉及到~
Y
自己写一个中间件啊
A
L
引用 yuhuaren自己写一个中间件啊
小白一个,给点资料?
L
L
Thanks!
S
引用 yuhuaren自己写一个中间件啊
@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();定义的,具体的你可以根据你自己的业务经行写,你也可以用来做运行日志。:) 希望这能给你有帮助。
L
引用 yuhuaren自己写一个中间件啊
@struCoder 很详细,谢谢大神指点!!
X
买书看吧少年
L
引用 xiuxu123买书看吧少年
推荐一本?
L
开源博客系统liblog已经具备权限管理,方便可以自定义,并且开放源码,可以参照他看一下http://livisky.github.io/
参与回复
登录后即可参与回复。登录