2

如何在风帆生成的路线上应用多个策略,如下所示:/users/:id/orders。我可以在 config/routes.js 中应用这样的单一策略

'/users/:id/orders' : {
   policy : 'isAuthenticated'
}

但是如何以类似的方式应用多个策略

4

1 回答 1

2

可悲的是,文档http://sailsjs.org/documentation/concepts/routes/custom-routes#?policy-target-syntax没有讨论路由中的链接策略。

作为替代方案,您可以像这样保护用户控制器中的填充操作:编辑config/policies.js

UserController: {
    populate: ['isAuthenticated', 'isAllowed']
}

http://sailsjs.org/documentation/reference/blueprint-api/populate-where

如果您只想将策略应用于订单关联,您可以/:model/:id/:association从策略内的 req 对象中检索关联参数 ( ) 并处理您的情况:

module.exports = function(req, res, next) {
  if (req.param('association') == 'orders') {
      // do your magic
  } else {
     return next();
  }
};
于 2016-09-23T07:37:45.660 回答