Mar*_*son 1 drupal login login-script drupal-6
我正在一个drupal网站上工作,我允许用户在发布内容的同时登录.我已经成功地将电子邮件和密码字段添加到原始表单中,但我仍然不知道应该如何实际登录用户.(我的计划是在创建内容之前在验证步骤中执行此操作,以使登录用户所有者访问内容).
我可以在user.module API中找到三个以某种方式看起来正确的函数:
现在,我的问题是它是哪一个?我是否走在正确的轨道上?
一旦您检查了用户名/密码并发现他们验证并获得$uid了用户,您将执行以下操作:
$account = user_load($uid))
global $user;
$user = $account;
user_authenticate_finalize($form_state['values']);
Run Code Online (Sandbox Code Playgroud)
因此,您覆盖全局$user对象并调用user_authenticate_finalize.
更新:
通过一步执行验证和登录将如下所示:
$account = user_load(array(
'name' => $form_values['name'],
'pass' => trim($form_values['pass']),
'status' => 1)
);
if ($account && !drupal_is_denied('mail', $account->mail) {
global $user;
$user = $account;
user_authenticate_finalize($form_state['values']);
}
else {
// Raise validation error.
}
Run Code Online (Sandbox Code Playgroud)