2015-10-21 6 views
8

認証されたユーザーのすべての権限をSailsのJSON経由で送信しようとしています。sails-permissionsすべての権限を取得する

単一モデルタイプの権限を見つけるために私の現在のコード:isAllowedToPerformActionはモデルの単一のインスタンスを望んでいるよう

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 }); 
} 

このコードは動作しません。すべての権限を1つのJSONファイルで返す方法はありますか?

答えて

4
  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

@ 5月10日にskrichtenによって与えられたコメントのコードでuser permissionsを取得する方法を見ます2014

+0

あなたの答えは1つの役割のデータを取得するために機能しますが、すべての権限を読みやすい形式にすることについてはあまり言いません。 – BeaverusIV

+0

これはユーザーから行うことができますか?すなわち、User.find(...)。populate( 'roles')... – BeaverusIV

+1

はい、これが可能です。 @BeaverusIV。すべての権限を取得するための例を示します。そして私は賞金を逃した:( –

関連する問題