【问题标题】:Sailsjs changing route policies orderSailsjs 更改路线策略顺序
【发布时间】:2023-03-23 11:15:01
【问题描述】:

我的配置/policies.js

module.exports.policies = {
  '*': ['tokenValidate'],
};

我的配置/routes.js

'POST /users': [ { policy: 'onlyAdmin' }, { action: 'users/create' } ],

使用此配置,当我向 /users 发送 POST 时,首先请求在 onlyAdmin 策略 -> tokenValidate 策略 -> users/create 操作上停止,为了解决我的问题,我需要在 onlyAdmin 策略之前调用 tokenValidate。

如果我使用下面的代码,tokenValidate 会被调用两次。

'POST /users': [ { policy: 'tokenValidate' }, { policy: 'onlyAdmin' }, { action: 'users/create' } ],

我已经阅读了文档但一无所获,有人知道如何解决这个问题吗?

【问题讨论】:

    标签: sails.js


    【解决方案1】:

    可以选择将策略包含为数组:

    // config/policies.js
    
    module.exports.policies = {
      '*': 'tokenValidate',
      'folder/file-or-*': ['tokenValidate', 'onlyAdmin']
    };
    
    

    查看文档中的Policy ordering and precedence

    https://sailsjs.com/documentation/concepts/policies

    另一种方法是使用hook 进行令牌验证和权限策略:

    https://sailsjs.com/documentation/concepts/extending-sails/hooks/hook-specification

    或帮手:

    https://sailsjs.com/documentation/concepts/policies/access-control-and-permissions

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2015-10-20
      相关资源
      最近更新 更多