gpt4 book ai didi

policy - Sails.js 策略,如果一组策略中的一个成功,是否有 OR 运算符允许执行操作?

转载 作者:行者123 更新时间:2023-12-03 14:46:43 26 4
gpt4 key购买 nike

在 config/policies.js 中配置 Sails 中的策略时,例如:

    ActivityController: {
create: ['authenticated'],
update: ['authenticated', 'isActivityOwner'],
destroy: ['authenticated' ,'isActivityOwner']
}

是否有任何功能可以让我授予对操作的访问权限,前提是一组策略中的一个或多个成功可能类似于:
    ActivityController: {
create: ['authenticated'],
update: ['authenticated', {or:['isActivityOwner', 'isAdmin']}],
destroy: ['authenticated' ,'isActivityOwner']
}

或者,是否可以创建复合策略,以便在一个策略中检查一个或多个其他策略?

如果这两个选项看起来都是糟糕的解决方案,您能否提出一种被认为是更好的做法的方法?

如果这有点明显,请原谅我,但总的来说我对 sails 和节点还很陌生,提前感谢您的帮助!

最佳答案

我没有在风 sails 政策中找到对运营商的任何官方支持,但这就是我正在做的事情。

ActivityController: {
update: ['authenticated', 'orActivityOwner', 'orAdmin', orPolicy],
}

两个 orActivityOwnerorAdmin返回 next()好像它们是有效的。但他们也为 session 变量设置了一个 bool 值。请记住,策略是从左到右执行的。我添加了 orPolicy最后,它将评估我们 session 变量的状态。

关于policy - Sails.js 策略,如果一组策略中的一个成功,是否有 OR 运算符允许执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18876057/

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