我有一個模型:api/models/Agency.js
SailsJs保護藍圖與政策
attributes: {
// attributes for agency
// One agency can have many owners
owners: {
collection: 'user',
required: true,
via: 'agencies'
},
employees: {
collection: 'user',
via: 'employer'
}
}
該型號具有許多與許多的用戶關係;許多用戶可以擁有許多代理商。
我想用政策保護代理機構的藍圖控制器(AgencyController.js
),稱爲isOwner.js
;這可以確保用戶在允許他們進行編輯之前是該機構的所有者。我已經根據Sails.js docs中的示例創建了該策略,其中我試圖確保userId(在會話中找到)是資源的所有者。
api/policies/isOwner.js
:
module.exports = function(req, res, next) {
var userId = req.session.passport.user;
req.options.where = req.options.where || {};
req.options.where.owners = userId;
return next();
};
然後在我的config/policies.js
文件我已經添加了以下內容:
AgencyController: {
destroy: ['isOwner'],
update: ['isOwner']
},
這是行不通的。我認爲這是因爲兩種模式之間存在着多對多的關係。我的問題是我可以創建一個可以查詢多對多關係的策略嗎?或者只有通過一對多的關係纔有可能?
謝謝。