gpt4 book ai didi

javascript - 关于请求方法而不是路由的 SailsJS 策略

转载 作者:搜寻专家 更新时间:2023-10-31 23:15:17 25 4
gpt4 key购买 nike

有什么方法可以触发针对特定请求方法(例如 DELETE)而不是针对特定路由的策略?

我会想象这样的事情:

module.exports.policies = {
'DELETE *': 'isAdmin'
}

我的目标是仅向管理员公开蓝图 API,以便我可以将其保留在生产环境中,因为它是允许第三方脚本添加额外功能的非常有用的工具。

我现在正在使用 Sails 1.0。

一种方法可能是将请求方法的检查添加到实际的管理策略中,但对我来说这似乎不是最佳解决方案。

最佳答案

您可以为特定方法覆盖所有模型的蓝图。您可以通过在/api/blueprints/中创建一个文件 destroy.js 来为 DELETE 执行此操作,然后添加您的代码以在 DELETE 通过时执行您想要执行的操作:

module.exports = function(req,res, next) {
if(ACLService.hasPermission(req.user.acl, 'admin')) {
//Ok to allow delete here
} else {
return res.unauthorized();
}
};

这是我过去的做法,但查看刚刚发布的 SailsJS 1.0 的文档:

https://sailsjs.com/documentation/reference/blueprint-api

在 1.0 中你可能需要添加这个钩子(Hook)来覆盖蓝图

https://www.npmjs.com/package/sails-hook-custom-blueprints

关于javascript - 关于请求方法而不是路由的 SailsJS 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com