【问题标题】:sails-permissions getting all permissionssails-permissions 获得所有权限
【发布时间】:2016-01-21 01:19:44
【问题描述】:

我正在尝试通过来自 Sails 的 JSON 为经过身份验证的用户发送所有权限。

我当前查找单个模型类型权限的代码:

hasPermission: function hasPermission(req, res) {
    var permitted = PermissionService.isAllowedToPerformAction({
        method: req.param('method'),
        model: sails.models[req.param('model')],
        user: req.user
    });

    return res.json(200, { permitted: permitted });
}

此代码不起作用,因为 isAllowedToPerformAction 想要模型的单个实例。有没有办法返回一个占所有权限的 JSON 文件?

【问题讨论】:

    标签: sails.js sails-permissions


    【解决方案1】:
    1. 尝试创建角色并授予他们权限。
    2. 为用户分配角色

    例如

    PermissionService.createRole({
       name: 'carsCategoryAdmin', 
       permissions: [
          { action: 'update', model: 'review', criteria: [{ where: { category: 'cars'}}]}, 
          { action: 'delete', model: 'review', criteria: [{ where: { category: 'cars'}}]}
       ],
       users: ['venise']
    })
    

    您可以检查角色以及相关的权限和用户,

    Role.find({name:'carsCategoryAdmin'})
      .populate('users')
      .populate('permissions')
      .exec(console.log) 
    

    查看更多@sails-permissions-by-example

    查看如何使用 skrichten 于 2014 年 5 月 10 日发表的评论中的代码获取user permissions

    【讨论】:

    • 您的答案适用于获取一个角色的数据,但它并没有说明将所有权限转换为可读形式。
    • 是的,这可以做到。 @BeaverusIV。为您提供获取所有权限的示例。我错过了赏金:(
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2021-05-01
    • 2016-06-08
    • 2017-02-06
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多