Strapi 插件路由默认权限

标签 strapi

我正在为 Strapi 构建一个具有多个路由的插件,例如:

    {
      "method": "GET",
      "path": "/preAnalyzeImportFile",
      "handler": "ImportConfig.preAnalyzeImportFile",
      "config": {
        "policies": ["global.isAuthenticated"]
      }
    }

安装插件后,任何经过身份验证的用户都应该能够使用新路由。我可以手动更改权限,以便路由正常工作,但这不应该是使用该插件所需的工作流程。

如何设置插件路由的默认权限?

最佳答案

没有关于如何在 Strapi 中执行此操作的文档。

以下是如何使用permissions函数来获取、创建、更新权限strapi.plugins['users-permissions'].models.permission。那么如何处理。

您必须在 ./config/function/bootstrap.js 中编写代码。 每次服务器启动时都会执行此代码。

要创建权限,您必须找到要更新的角色(类型为authenticated)strapi.plugins['users-permissions'].models.role.find .

当您获得角色 ID 后,您将使用 strapi.plugins['users-permissions'].models.permission.create 创建权限

要发送的对象参数:

  • 类型:将是您的插件的名称
  • controller:将是您的 Controller importconfig的名称
  • action:您的案例中的函数 preanalyzeimportfile 的名称
  • 启用:true
  • 角色:您要应用此政策的角色 ID

关于Strapi 插件路由默认权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55924388/

相关文章:

graphql - Strapi v4 嵌套数据过多

vue.js - Strapi graphql 突变语法错误 : Unterminated string

authentication - GraphQL 和 Strapi session

deployment - 在本地开发 Strapi 并部署到生产服务器上

graphql - Gatsby 和 Strapi 可选数据的问题

reactjs - 下一个授权 |当用户对象有太多项目时, session 请求没有数据

Strapi CMS : Fetch Nested Content

reactjs - 如何在一台主机上部署 Strapi 和 React?

strapi - 如何限制用户对其自己的用户 API 的访问 :ID only?