【问题标题】:Does Node.js/Express/Passport have an authorization module like CanCan for Rails?Node.js/Express/Passport 是否有类似 CanCan for Rails 的授权模块?
【发布时间】:2013-04-07 20:33:36
【问题描述】:

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

【问题讨论】:

标签: node.js express passport.js


【解决方案1】:

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

【讨论】:

  • 如何使用带连接角色的护照?
  • 在passport中间件后面加上connect-roles middileware,像这样:app.use(authentication);app.use(connectRoles.middleware());
【解决方案2】:

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

示例:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
相关资源
最近更新 更多