Drupal用户\外部\登录\寄存器

Drupal用户\外部\登录\寄存器,drupal,Drupal,草案内容如下: 用于身份验证的Helper函数 模块。登录或注册 当前用户,基于用户名。 无论哪种方式,全局$user对象都是 基于$name填充 在我看来,这个函数实际上并没有执行登录(它不会用op=login触发user\u hook。它不会调用user\u external\u login,甚至不会调用user\u authenticate\u finalize) 我解释错了吗?我浏览了代码,但它没有调用hook\u user()op='login'。不过,您可以在自己的模块中执行此操作

草案内容如下:

用于身份验证的Helper函数 模块。登录或注册 当前用户,基于用户名。 无论哪种方式,全局$user对象都是 基于$name填充

在我看来,这个函数实际上并没有执行登录(它不会用op=login触发user\u hook。它不会调用user\u external\u login,甚至不会调用user\u authenticate\u finalize)


我解释错了吗?

我浏览了代码,但它没有调用
hook\u user()op='login'
。不过,您可以在自己的模块中执行此操作

查看以执行此操作。

它确实会让用户登录。 代码的最后一行

     // Log user in.
  $form_state['uid'] = $account->uid;
  user_login_submit(array(), $form_state);
,似乎在说,尽管提交了错误的密码

系统似乎创建了一个用户(名称与登录表单中提供的名称相同),并在本地保存提供的错误密码(即“正确”密码)

如果您不采取进一步的行动,那么,它甚至不会关心外部身份验证源,并且该名称的真实用户稍后将无法登录


吓人,嗯?

同意它不调用登录——这不是意味着func没有真正执行登录吗?好吧,它确实让用户登录,用户不再匿名,但他将是他的用户,有访问权,他所做的事情将被认可。但其他模块将没有机会对此做出反应。