torqit / pimcore-role-creator-bundle
此软件包最新版本(v4.0.0)没有提供许可证信息。
v4.0.0
2024-06-06 16:31 UTC
Requires
- pimcore/pimcore: ^11.0
README
入门指南
- 此软件包可以通过composer轻松安装:
composer require torqit/pimcore-role-creator-bundle
- 在您的配置文件夹中,添加一个
roles.yaml
文件。有关如何设置您的角色的说明在下面的角色设置部分中给出。 - 确保您在位于
\src\pimcore-root\app\AppKernel.php
的AppKernel.php
中注册了RoleCreatorBundle
。注册软件包就像在 registerBundlesToCollection 函数中添加一行那样简单:$collection->addBundle(new \TorqIT\RoleCreatorBundle\RoleCreatorBundle);
- 使用以下命令运行软件包:
./bin/console torq:generate-roles
角色设置
对于本示例,假设我们想要向我们的应用中添加 Manager
和 Employee
角色。在您的配置文件夹中,添加一个 roles.yaml
文件,布局如下:
system_roles: Manager: Employee:
这将创建 Manager
和 Employee
角色,两者都没有权限、工作空间或允许的类。
基本权限
使用 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"]
如果您未指定视角列表,则将清除之前选定的所有视角。