Node.js / Express / Passport是否有像CanCan for Rails这样的授权模块?

时间:2013-04-15 16:21:14

标签: node.js express passport.js

一旦用户进行了身份验证,我想要一种方法来设置用户可以查看,编辑和删除的限制。具体来说,除非他们是管理员,否则他们可以查看,编辑和删除他们拥有的唯一文件。我看过EveryAuth和Ability.js的一些例子,只是想知道是否有使用Passport.js的等价物

2 个答案:

答案 0 :(得分:6)

可能它可以帮助你实现你想要的 https://github.com/ForbesLindesay/connect-roles

答案 1 :(得分:0)

https://github.com/vadimdemedes/cancan 是基于 Rails CanCan 编写的节点包

示例:

const CanCan = require('cancan');

const cancan = new CanCan();
const {allow, can} = cancan;

class User {}
class Product {}

allow(User, 'view', Product);

const user = new User();
const product = new Product();

can(user, 'view', product);
//=> true

can(user, 'edit', product);
//=> false