2015-10-21 13 views
8

Ich versuche, alle Berechtigungen für einen authentifizierten Benutzer über JSON von Sails zu senden.sails-permissions alle Berechtigungen erhalten

Mein aktueller Code Berechtigungen für ein einzelnes Modelltyp zu finden:

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

Dieser Code funktioniert nicht wie isAllowedToPerformAction eine einzelne Instanz eines Modells will. Gibt es eine Möglichkeit, eine einzelne JSON-Datei für alle Berechtigungen zurückzugeben?

Antwort

4
  1. Versuchen Sie, Rollen zu erstellen und ihnen Berechtigungen zu erteilen.
  2. zuordnen Rolle Benutzern

Ex.

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

Sie können die Rolle und die damit verbundenen Berechtigungen und Benutzer, untersuchen

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

Weitere @sails-permissions-by-example

Sehen Sie, wie in Kommentar von skrichten am 10. Mai gegeben user permissions mit Code zu bekommen, 2014.

+0

Ihre Antwort funktioniert, um die Daten für eine Rolle zu erhalten, aber es sagt nicht viel darüber aus, alle Berechtigungen in eine lesbare Form zu bringen. – BeaverusIV

+0

Könnte dies von einem Benutzer gemacht werden? d. h. User.find (...). populate ('roles') ... – BeaverusIV

+1

Ja, das kann gemacht werden. @BeaverusIV. Geben Sie ein Beispiel, um alle Berechtigungen zu erhalten. Und ich habe das Kopfgeld verpasst :( –

Verwandte Themen