2014-12-16 4 views
0

Для того, чтобы создать много-ко-многим ассоциации между моделями, я использую чертежи, чтобы получить доступ к что-то вроде:Sails.js - защитить Blueprint ассоциации с использованием политик

/api/item/1/tags/2 


Как я могу защитить это действие используя политики?

Это действие, похоже, не соответствует ни одной политике поиска/создания/обновления/уничтожения.

ответ

5

Здесь нет необходимости настраивать маршрутизацию; проект вы имеете в виду, называется populate, так что он может быть защищен в вашем config/policies.js с:

ItemController: { 

    populate: 'somePolicy' 

} 
1

проверить это:

module.exports.routes = { 

    //Set blueprints 
    'GET /findAllUsers': {model: 'user', blueprint: 'find'}, 
    'GET /user/findAll': {blueprint: 'find'} 
    'GET /user/findAll': {blueprint: 'find', model: 'pet'} 
    // Set policies in routes 
    '/foo': {policy: 'myPolicy'} 
    // Mix of blueprints and policies 
    'GET /mix-of-both': [ 
    {policy: 'isLoggued'}, 
    {blueprint: 'find', model: 'tag'} 
    ] 
} 

Проверьте официальные документы: http://sailsjs.org/#/documentation/concepts/Routes/RouteTargetSyntax.html

Я надеюсь, что это помогает!

+0

Обратите внимание, что политика конфига всегда должно прийти * до * контроллера конфиги. Таким образом, ваша конфигурация '/ mix-of-both' должна иметь порядок, и ваш конфиг'/foo' должен иметь конфигурацию контроллера или плана, прикованную к ней. Идея заключается в том, что политика выполняется, а затем, если она проходит, запускается другая бизнес-логика. – sgress454

+0

Ups! Вы правы в заказе, теперь это исправлено. Благодаря :) – josebaseba

Смежные вопросы