1

我正在使用 kohana 的身份验证模块。我确实注册并登录并且工作正常。但是当我这样做时,Auth::instance()->get_user()->id我得到NULL

登录时我会这样做,Auth::instance()->login($validator['email'], $validator['password'])然后将用户重定向到主页。

但是当我在其中一个控制器中时,Auth::instance()->get_user()->id我得到了NULL

会是什么原因。那是我必须先设置一些东西吗???

4

3 回答 3

1

我的错

_login函数中modules/auth/classes/kohana/auth/orm.php

在那我正在做以下事情

$user = ORM::factory('user');
$user->where('email', ' = ', $email)
    ->and_where('password', ' = ', $password)
    ->find();

// TODO remember to be done
if ($user !== null) {
    $this->complete_login($user);
    return true;
} else {
    return false;
}

在上面我正在检查 $user 是否为空,但如果电子邮件和密码不匹配,则将使用NULL所有列的值创建用户实例。

所以现在我正在检查$user->id !== NULL它工作正常。

于 2011-07-18T10:19:24.593 回答
1

试试Auth::instance()->get_user()->pk()

pk()用于主键。

在KO3工作。

于 2011-07-20T11:56:13.623 回答
0

试试这个:

if ($user->loaded()) {
    $this->complete_login($user);
    return true;
} else {
    return false;
}

如果您想知道发生了什么,请参阅ORM::__call()(因为 ORM::loaded() 不存在)

于 2011-07-18T19:38:42.960 回答