2015-10-21 4 views
8

मैं सेल से जेएसओएन के माध्यम से एक प्रमाणित उपयोगकर्ता के लिए सभी अनुमतियां भेजने की कोशिश कर रहा हूं।सभी अनुमतियां प्राप्त करने के लिए सेल-अनुमतियां

मेरे वर्तमान कोड एक मॉडल प्रकार के लिए अनुमतियों को खोजने के लिए:

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 फ़ाइल एकाउंटिंग वापस करने का कोई तरीका है?

उत्तर

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

देखें टिप्पणी में कोड 10 मई को skrichten द्वारा दिए गए के साथ user permissions पाने के लिए, 2014

+0

आपका उत्तर एक भूमिका के लिए डेटा प्राप्त करने के लिए काम करता है लेकिन यह एक पठनीय रूप में सभी अनुमतियों को प्राप्त करने के बारे में ज्यादा नहीं कहता है। – BeaverusIV

+0

क्या यह उपयोगकर्ता से किया जा सकता है? यानी User.find (...)। populate ('भूमिकाएं') ... – BeaverusIV

+1

हाँ यह किया जा सकता है। @BeaverusIV। सभी अनुमतियां प्राप्त करने के लिए आपको उदाहरण दे रहा है। और मैं बक्षीस चूक गया :( –

संबंधित मुद्दे