作为任何系统的管理员,您总是想要一种功能,该功能可以将某些职责委派给一组受信任的用户。 它还允许您设置工作流程,以帮助您平稳地维护站点并避免不必要的压力。
今天,我们将看到OpenCart中有哪些可用资源,以及如何将这些资源的某些类型的权限授予一组用户。 我们将在后端研究上述功能,而用户组将成为本文后面部分讨论的主题。
我假设您使用的是最新版本的OpenCart。 我们将从资源和权限的基本介绍开始。
了解资源和权限
在任何访问控制列表(ACL)系统中,都有两个重要的实体-权限和资源。 资源以一定的权限向用户组公开,以便他们可以对资源执行不同的操作。 当然,每个系统都有自己的组织资源和权限的方式。
在本节中,我们将在OpenCart中对此进行研究。
资源资源
您会惊讶地发现,管理端的所有控制器文件都被视为资源。 因此,资源“目录/属性”映射到位于admin/controller/catalog/attribute.php
。 因此,无论何时将特定资源分配给任何用户组,他们都将能够执行相应控制器文件中定义的所有操作。
转至后端,然后导航至系统>用户>用户组 。 编辑用户组之一-例如,让我们编辑一个管理员组。
现在,您可以看到,所有资源都在下拉框中列出。 当然,如果您为自定义模块创建了一个新的控制器文件,则也会对其进行提取。
因此,这是资源的基本介绍。 在下一节中,我们将看到资源如何与权限关联。
权限
在OpenCart中,权限分为两大类-访问和修改。 具有访问权限的用户将只能查看资源,而修改权限则允许用户添加/编辑资源信息。
![权限](https://cms-assets.tutsplus.com/uploads/users/413/posts/25172/image/understand-resources-and-permissions-in-opencart-permissions.png)
因此,这是对资源和权限的简要介绍。 在接下来的部分中,我们将看到如何将它们与用户组结合使用。
创建一个新的用户组并分配权限
现在,您已经熟悉了权限和资源,我们将继续创建一个新的用户组,以演示它们如何协同工作。 转至后端,然后导航至系统>用户>用户组 。 它将列出OpenCart中可用的默认用户组。
单击+图标以添加新的用户组。
输入用户组的名称,为每个权限选择资源(访问和修改),您就可以开始了。 完成后,保存组! 出于演示目的,我仅为“ 自定义组”选择了目录/类别资源。
测试自定义用户组
现在,让我们从后端快速创建一个新用户,并将我们新创建的用户组分配给该用户。 导航到系统>用户>用户 ,然后单击+图标创建一个新用户。
填写所需的详细信息-这里要注意的重要一点是用户组 ,我已经为其选择了自定义组 。 保存用户,注销并使用该新用户登录。 现在,尝试访问“ 自定义组”用户组不允许的任何部分。 您会收到权限被拒绝的错误!
![没有权限](https://cms-assets.tutsplus.com/uploads/users/413/posts/25172/image/understand-resources-and-permissions-in-opencart-permission-denied.png)
如何检查是否允许用户访问/修改资源
在本节中,我们将看到如何检查是否允许用户访问或修改特定资源。 您将在后端的大多数控制器文件中看到以下代码段,因为很明显,在允许用户执行任何特权操作之前,我们需要对用户进行身份验证。
继续并打开upload/admin/controller/catalog/product.php
文件。
if (!$this->user->hasPermission('modify', 'catalog/product')) {
$this->error['warning'] = $this->language->get('error_permission');
}
您可以在多个地方找到上述片段。 基本上,它检查登录用户是否对“目录/产品”资源具有修改权限。
在内部,它将检查已登录用户的用户组,并进一步检查该特定组是否对该资源具有修改权限。
这样,您可以检查是否允许用户在某些资源上执行任何特定操作。 理想的情况是根据您的要求设置不同的用户组并为每个组分配不同的权限集。
结论
今天,我们讨论了OpenCart中的资源和权限。 我们从基本介绍开始,随后我们看到了如何有效地与资源和权限结合使用,才能从用户组中受益。
我们在本文的结尾带有一个代码段,演示了如何检查是否允许用户访问/修改特定资源。
与往常一样,如果您正在寻找其他OpenCart工具,实用程序,扩展等,以便可以在自己的项目中使用或用于自己的教育,请不要忘记查看我们在市场上提供的产品 。
今天就这样,不要忘记使用下面的评论供稿来分享您的评论和查询!
翻译自: https://code.tutsplus.com/tutorials/understand-user-permissions-in-opencart--cms-25172