如何在 Drupal 8 中管理用户和角色权限

已发表: 2022-02-16

本教程是关于管理 Drupal 8 站点上的用户的全部内容。

我将向您展示如何控制谁可以在您的网站上执行哪些操作:

  • 谁可以创建、删除和编辑内容?
  • 谁可以上传模块和主题?
  • 谁可以修改菜单和块?

您还将了解如何使用户帐户更有趣。 您可以通过允许用户添加更多关于他们的信息来做到这一点。


Drupal 角色和权限说明

Drupal 用户由他们的角色定义。 角色由您分配给角色的权限定义。 Drupal 具有三个默认角色:

  • 匿名:未登录您网站的访问者。
  • Authenticated :在您的站点上拥有帐户并登录的任何人都经过身份验证。 Authenticated 角色还用作授予所有登录用户的最小权限集。 Drupal 设置了一些默认权限,但您可以更改它们。
  • 管理员:分配了管理员角色的用户可以在站点上执行所有操作。

您可能认为这对您的网站来说已经足够了,但如果您有更大的计划,让我们通过三个示例来看看您如何微调对您帐户的访问。


创建文章作者

从文章作者的例子开始。 这样的人将是您可以为其分配用户的角色。 如果用户担任这个角色,他们所能做的就是写文章。 有四个步骤可确保正确设置用户帐户:

  1. 添加角色。
  2. 设置角色权限。
  3. 创建用户。
  4. 测试用户以确保其具有正确的权限。

以下是这四个步骤。

  • 单击管理菜单栏上的“人员”,然后单击“角色”选项卡。

drupal 角色

  • 点击“添加角色”。
  • 键入Article writer作为新角色名称。
  • 点击“保存”。

现在已经创建了文章作者角色,您需要确定该角色中的用户可以做什么和不能做什么。

  • 单击权限选项卡以查看可用权限:

drupal 权限选项卡

在列表的左侧,您可以看到具有权限设置的模块。 模块按字母顺序排列。 在列表顶部,您会看到您已设置的四个角色。

drupal 权限选项卡

三个默认角色的权限已设置。 您还可以看到已经为文章作者角色设置了一些权限。 这是因为这些权限已授予 Authenticated User 角色。 默认情况下,如果您授予 Authenticated 角色权限,则所有后续角色(匿名除外)都会继承该权限。 这就是为什么评论的复选标记显示为灰色且无法取消选择的原因。

drupal 权限框

您的文章作者将需要比默认授予 Authenticated 角色的权限更多的权限,所以让我们开始吧。

  • 向下滚动直到找到标题节点。 请记住,Node 是 Drupal 的内容术语。
  • 在 Node 区域的顶部,您会看到一些管理员类型的权限,如下所示:

drupal 节点权限

进一步滚动以找到文章权限集。 为了在此示例中保持简单,请选中所有文章权限框:

  • 创建新内容
  • 删除任何内容
  • 删除自己的内容
  • 删除修订
  • 编辑任何内容
  • 编辑自己的内容
  • 还原修订
  • 查看修订

drupal 文章权限

  • 为确保文章作者可以“添加内容”,请选中“使用管理工具栏”的权限框。

drupal 管理工具栏权限

  • 点击页面底部的“保存权限”。

现在让我们为文章作者设置一个实际的用户帐户。

  • 单击屏幕顶部的“列表”选项卡。
  • 单击“添加用户”按钮。

如您所见,没有红色星号,电子邮件地址不是必需的。 但是,电子邮件对于用户接收消息(例如密码重置)是必需的。 如果您有一个不是您在创建第一个帐户时使用的电子邮件地址,请立即输入,以便您可以看到用户将收到的电子邮件。 否则,请将其留空。

  • 用户名:文章作者
  • 密码:文章作者
  • 角色:选中“文章作者”框。
  • 如果您包含电子邮件地址,请选中“通知用户新帐户”复选框。
  • 点击“创建新帐户”。

drupal 创建文章作者

第四步也是最后一步至关重要。 权限是您网站安全的重要组成部分,如果您不测试您的权限,您很容易允许某些用户执行可能危及您网站的操作。

以下是测试的基本方法。 您可以使用以下步骤:

  • 打开您尚未登录的浏览器。
  • 通过访问 http://[your_web_address]/user/login 登录。
  • 请注意,您已经习惯的菜单栏缺少选项。 那很好。 第一次测试通过。

drupal 低权限

  • 单击“快捷方式”,然后单击“添加内容”。
  • “创建文章”表单立即出现,没有其他可用的内容类型。 测试又通过了!

drupal 创建文章

此测试存在局限性。 因为您创建了帐户和密码,所以您能够以该人的身份登录并进行测试。

但是,在真实站点上,知道用户的密码是什么既不可行也不安全。 相反,您可以使用一个名为 Masquerade 的模块来轻松测试任何用户帐户。 以下是它的工作原理:

  • 确保您使用主管理员帐户登录。
  • 安装伪装模块。
  • 转到“结构”,然后转到“块布局”。
  • 将 Masquerade 块放置在次要区域的顶部。
  • 转到您的主页,您会找到 Masquerade 块及其搜索框。
  • 输入您要测试的用户的名称,然后单击“切换”。

假面舞会

伪装块消失,屏幕顶部的黑色菜单栏中出现“取消伪装”链接。 不用担心:默认情况下,此链接仅对管理员显示。

drupal 用户伪装模块

您现在可以浏览该站点并准确查看文章作者可以看到的内容。 只需单击 Unmasquerade 链接,您将返回管理员帐户。


创建主持人

现在再看一个用户权限的例子。 让我们设置一个名为 Moderator 的角色。 担任此角色的人员可以审核评论和论坛帖子。 这些人有助于确保您的网站是一个令人愉快且无垃圾邮件的目的地。

  • 转到“人员”、“角色”,然后“添加新角色”。
  • 键入主持人作为角色名称。

接下来,我们将设置权限:

  • 单击“权限”选项卡并向下滚动,直到找到“评论”模块。
  • 选中版主列中的“管理评论和评论设置”框。

drupal 创建版主

  • 向下滚动直到找到论坛模块并选中版主列中的“管理论坛”框。 这允许版主在需要时重新排列论坛版块。
drupal 管理论坛

  • 向下滚动,直到找到节点部分。
  • 授予版主创建、删除和编辑任何论坛节点的权限。

drupal 论坛权限

  • 为确保版主可以添加内容,请选中“使用管理工具栏”的权限框。
  • 选中版主列中的“查看用户信息”框。 如果需要阻止帐户,这可以帮助版主向站点管理员提供建议。
  • 点击屏幕底部的“保存权限”。

现在我们可以继续创建版主帐户:

  • 单击屏幕顶部的“列表”选项卡,然后单击“添加用户”。
  • 如果您还有另一个额外的电子邮件帐户,请输入它,否则,请将电子邮件留空。
  • 用户名:版主
  • 密码:版主。 如果需要,您可以将其设置为更困难的值。 Drupal 警告您这是一个弱密码。
  • 角色:选中“主持人”框。
  • 点击“创建新帐户”。

现在是时候测试帐户了:

  • 访问您网站的首页。
  • 使用 Masquerade 模块将站点视为版主。
  • 单击主菜单上的“论坛”。
  • 访问任何论坛主题,您可以编辑或删除该主题。
  • 如果对某个主题有评论,您可以使用“编辑”和“删除”链接对其进行审核。

drupal编辑删除链接

  • 单击任何用户的帐户名。 最容易找到的帐户可能是您的主要管理员帐户。

drupal 用户名

  • 您将看到用户个人资料。 在本章的下一部分,我们将使它看起来更有趣!
  • 如果您认为用户需要审核,请单击“编辑”选项卡。 您将用户状态从“活动”更改为“已阻止”。 请不要使用您自己的管理员帐户尝试此操作!

drupal 编辑用户

您可以授予版主角色权限以管理用户(请参阅权限页面上的用户部分)。 请注意,这是一个非常强大的权限。 如果被授予,任何具有主持人角色的用户都可以访问任何其他用户的帐户并更改其设置。 谨慎授予。


关于 Drupal 权限的视频

该视频取自名为“Drupal 8 初学者指南”的课程:


想了解更多 Drupal 8?

阅读本教程后,我建议直接从这一点开始的“如何构建用户配置文件”。

本教程摘自 Drupal 8 Explained,这是 Drupal 8 的最畅销指南。立即获取副本以了解 Drupal 8 的所有基础知识。