2015-10-21 20 views
8

Sto tentando di inviare tutte le autorizzazioni per un utente autenticato tramite JSON da Sails.autorizzazioni sails che ottengono tutte le autorizzazioni

Il mio codice corrente per trovare i permessi per un unico tipo di modello:

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

Questo codice non funziona come isAllowedToPerformAction vuole una singola istanza di un modello. C'è un modo per restituire un singolo file JSON che tiene conto di tutte le autorizzazioni?

risposta

4
  1. Provare a creare ruoli e concedere loro le autorizzazioni.
  2. ruolo assegnare agli utenti

Ex.

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

È possibile esaminare il ruolo e le autorizzazioni e gli utenti connessi,

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

Tutte @sails-permissions-by-example

vedere come arrivare user permissions con il codice a commento data dal skrichten il 10 maggio, 2014.

+0

La risposta funziona per ottenere i dati per un ruolo, ma non dice molto sull'ottenere tutte le autorizzazioni in una forma leggibile. – BeaverusIV

+0

Questo può essere fatto da un utente? cioè User.find (...). populate ('ruoli') ... – BeaverusIV

+1

Sì, questo può essere fatto. @BeaverusIV. Dando esempio per ottenere tutte le autorizzazioni. E ho perso la taglia :( –

Problemi correlati