你能限制对strapi管理员部分的访问吗?

时间:2018-03-31 19:56:22

标签: strapi

使用Strapi构建API。喜欢它的大部分,但似乎访问管理界面是全有或全无;对于只能添加/编辑内容的用户,您无法隐藏管理员的更高级方面......?我错过了什么吗?这是怎么做到的?

3 个答案:

答案 0 :(得分:2)

这是Strapi当前投票最多的功能请求。您可以在https://strapi.io/vote上投票。

  

管理员-权限

     

根据用户角色来限制管理面板部分的访问。

答案 1 :(得分:1)

实际上,您可以更改某些内容,因为/admin内有一个/node_modules文件夹可以覆盖,as the documentation says here,因此可以覆盖特定用户和特定情况的某些逻辑,这不是最好的方法,但这是我们目前拥有的。

示例:在我的项目中,我不希望任何用户在生产环境中访问Content-Types Builder,最后,我决定在生产环境中隐藏整个“插件”部分。

因此,首先我将整个/ admin文件夹复制到了项目内部,这样就可以轻松地查找/编辑任何组件。

其次,我搜索了渲染的部分,然后找到了这个文件:

/my-project/admin/src/components/LeftMenuLinkSection/index.js

然后我在组件内部添加了它:

const LeftMenuLinksSection = ({ section,
  ....
  // before the return
  if ( section === 'plugins' && process.env.NODE_ENV !== 'development') return null;;

工作正常,在生产环境中,管理员左侧菜单上没有插件部分(图1):

这取决于您想做什么,这可能是可能的,所以它不是“全有还是全无” ,它更像是全有或几乎没有

left admin menu on production

答案 2 :(得分:0)

首先,stradi基于 无头cms api 。管理员面板仅适用于管理员,并用于生成和配置新模型。

您可以为应用程序创建一个新角色,然后对其进行修改以有权访问更具体的模型端点。

在那之后,您将构建所需的任何类型的管理员并添加所需的任何限制区域