一旦您检查了用户名/密码,并发现它们已验证并获得
$uid
对于用户,您可以这样做:
$account = user_load($uid))
global $user;
$user = $account;
user_authenticate_finalize($form_state['values']);
所以你覆盖了全球
$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.
}