torqit/pimcore-role-creator-bundle

此软件包最新版本(v4.0.0)没有提供许可证信息。

安装次数: 13,951

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

公开问题: 0

类型:pimcore-bundle

v4.0.0 2024-06-06 16:31 UTC

This package is auto-updated.

Last update: 2024-09-06 16:59:21 UTC


README

入门指南

  1. 此软件包可以通过composer轻松安装: composer require torqit/pimcore-role-creator-bundle
  2. 在您的配置文件夹中,添加一个 roles.yaml 文件。有关如何设置您的角色的说明在下面的角色设置部分中给出。
  3. 确保您在位于 \src\pimcore-root\app\AppKernel.phpAppKernel.php 中注册了 RoleCreatorBundle。注册软件包就像在 registerBundlesToCollection 函数中添加一行那样简单:$collection->addBundle(new \TorqIT\RoleCreatorBundle\RoleCreatorBundle);
  4. 使用以下命令运行软件包:./bin/console torq:generate-roles

角色设置

对于本示例,假设我们想要向我们的应用中添加 ManagerEmployee 角色。在您的配置文件夹中,添加一个 roles.yaml 文件,布局如下:

system_roles:
  Manager:
  Employee:

这将创建 ManagerEmployee 角色,两者都没有权限、工作空间或允许的类。

基本权限

使用 user_permission_definitions 表中指定的权限,您可以使用以下三个变量之一指定每个角色的基本权限

  • included_permissions: [] 允许权限的数组
  • excluded_permissions: [] 在角色中包含所有权限,但排除指定的权限
  • all_permissions: 包含所有权限

例如,如果我们想让我们经理可以完全访问应用,但只允许用户查看文档和资产,我们可以这样配置:

system_roles:
  Manager:
    all_permissions: true
  Employee:
    included_permissions: ["documents", "assets"]

工作空间

您可以使用以下结构为每个角色指定数据对象、资产和文档工作空间。

workspaces:
  data_objects:
    /folderName:
      permissions: []
      special_configs:
        localized_edit: "fr_CA"
        localized_view: "en,fr_CA"
        custom_layouts: "object_ProductLayout,object_SupplierLayout"
  assets:
    /folderName: []
  documents:
    /folderName: []

其中 folderName 是该工作空间文件夹的完整路径。每个工作空间数组可以包含以下当前支持的权限

  • list
  • view
  • save(仅限文档/数据对象)
  • publish
  • unpublish(仅限文档/数据对象)
  • delete
  • rename
  • create
  • settings
  • versions
  • properties

注意:为了使整个结构可用,您可以将 / 作为文件夹提供,这将创建一个根工作空间。

回到我们的例子,如果我们想使 Employee 角色只能在文档和资产的 articles 文件夹中操作,我们可能设置配置如下:

system_roles:
  Manager:
    # Manager Permissions
  Employee:
    workspaces:
      data_objects:
        /articles:
          permissions: ["list", "view", "create", "save", "publish"]
      assets:
        /articles: ["list", "view"]

或者,您可以将 true 传递给工作空间,这将启用所有权限

 ...
    workspaces:
      data_objects:
        /articles:
          permissions: true

您可以针对每个数据对象工作空间指定特殊配置

  • 自定义布局
  • 本地化
 ...
    workspaces:
      data_objects:
        /articles:
          special_configs:
            localized_edit: "fr_CA"
            localized_view: "en,fr_CA"
            custom_layouts: "object_ProductLayout,object_SupplierLayout"

允许的文档类型和类

您可以使用以下结构为每个角色指定允许的文档类型和类

allowed_types:
  classes: ["MyClassName"]
  document_types: ["Document Name"]

其中两个值都接受类/文档类型的 名称(而不是类/文档类型的 ID)。例如,如果我们想使 Employee 角色只能创建 Article,我们只需指定以下内容:

system_roles:
  Manager:
    # Manager Permissions
  Employee:
    allowed_types:
      document_types: ["Article"]

注意:对于pimcore,默认行为是如果没有指定允许的类/文档类型,则允许所有类和文档类型。如果您需要限制所有创建,您可能需要在工作区级别进行配置。

允许的视角

您可以通过将视角添加到字符串数组中,来指定角色上的允许视角。

perspectives: ["Default"]

如果您未指定视角列表,则将清除之前选定的所有视角。