1

有什么方法或如何开始在drupal 7上创建仅适用于普通用户的默认登录表单?管理员无法登录该登录表单(我将为管理员制作一个自定义登录表单,但这不是这里的问题)

这就像是,

http://mysite.com/user/

您会看到一个登录表单,只有普通用户可以在该表单中登录。有什么方法可以做到这一点,任何提示或线索首先从哪里开始?

我来过这里

https://drupal.org/node/1894620

学过这个

https://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_access/7

这似乎不对,或者我只是没有设法很好地应用它。我迷路了。任何帮助将不胜感激。

4

1 回答 1

0

我认为唯一的解决方案是在您自己的自定义模块中复制整个用户登录表单(在其所有提交和验证功能中)。

您可以从登录表单中查找表单数组开始.....

function mymodule_form_alter(&$form, $form_state, $form_id)
{
  if ($form_id == 'user_login')
  {
    // The login form here...
    print_r($form);
  }
}

.... 并将其复制到一个新的hook_form(),由您的模块实现。

现在您可以更改副本中表单的提交和验证。在新的验证功能中,您可以检查正确的用户角色。

于 2013-09-23T09:02:45.977 回答