0

我对 Auth 模块很陌生,我正在尝试登录工作,在阅读文档和疯狂搜索之后,我有这段简单的代码......

    Auth::instance()->login('test', 'test');
if (Auth::instance()->logged_in()){
   $this->request->redirect('user/index/');
}else{
   echo 'fail';
}

这总是返回 false,我的注册脚本如下所示:

$model = ORM::factory('user');
$model->values(array(
       'username' => 'admin',
       'email' => 'adsmin@example.com',
       'password' => 'test',
       'password_confirm' => 'test',
    ));
$model->save();

它创建用户就好了,它也设置role_id为 1 和 2,这意味着我有管理员/登录权限,但无论如何它总是失败,如果我使用Auth::instance()->force_login($user);一切工作就好了,所以我猜问题可能与哈希有关,但我不知道在哪里。

4

2 回答 2

2

您必须将驱动程序设置为“orm”config/auth.php

于 2012-01-07T19:06:11.220 回答
0

您存储的是明文密码还是散列密码?我认为 Auth 模块登录功能对密码进行哈希处理。所以也许你应该保存散列密码。

您可以使用以下方法散列您的密码:

Auth::instance()->hash('your_password');
于 2014-09-10T12:46:30.250 回答