如何在Drupal中删除用户注册/登录

时间:2011-06-15 02:29:59

标签: drupal

我的网站不需要用户登录功能。只有系统管理员才能发布新内容。如何在Drupal中删除用户注册和登录?

谢谢!

5 个答案:

答案 0 :(得分:32)

虽然技术上可以删除登录功能,但您不应该这样做,因为那样您的管理员就永远无法登录该站点。

为了删除注册功能,您只需浏览admin/user/settings(适用于Drupal 6)或admin/config/people/accounts(适用于Drupal 7)并选择“仅限网站管理员可以创建新用户”帐户“选项。

答案 1 :(得分:16)

虽然jhedstrom的答案确实有效,但我特别发现它没有完全解决这个问题。

这是从Drupal 7上的站点中删除登录表单的简单方法。

首先,让我们创建一个名为管理的新简单页面。只需转到内容 - 添加内容 - 基本页面。输入您想要的任何详细信息,例如标题,正文等。只需确保在网址路径设置下指定了管理的常用别名,我使用了 admin

第二步,让我们确保登录表单仅显示在我们刚创建的 admin 页面上。导航到结构 - 块 - 用户登录(注意块名称可能因安装而异),然后点击配置。在可见性设置下,选择仅列出的页面选项,以便该块仅显示您在输入中指定的页面,并输入您在上述步骤中设置的别名(的管理)。

最后,让我们确保只有管理员可以通过遵循jhedstrom的建议来创建帐户。转到配置 - 人员 - 帐户设置,然后在注册和取消下,确保为谁可以注册帐户选择仅限管理员的框?选项。

我认为这是一种更好,更详细的方法,可确保不显示登录表单,因为您不需要人们在您的网站上创建帐户。

答案 2 :(得分:0)

您可以使用hook_menu()覆盖它,移动任何其他适合管理需求的登录页面

答案 3 :(得分:0)

您可以一起禁用所有表单。在自定义模块中:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  switch($form_id) {
    case 'user_login':
    case 'user_register_form':
      $form['#access'] = FALSE;
    break;
  }
}

根据您的需要,您可以创建自定义页面并在其中设置登录块,以便您和其他管理员可以登录或安装HybridAuth模块以允许访问者仅通过社交登录和注册新帐户媒体第三方。

答案 4 :(得分:0)

您可以使用 Disable Login Page 模块完全禁用一般公众的登录页面。只有有权访问密钥/值对的网站管理员或站点管理员才能访问登录页面。其他所有人都会在用户/登录页面被拒绝访问。这将适用于 Drupal 8 和 Drupal 9。