2012-01-07 158 views
0

我是很新的验证模块,我试图让登录工作,阅读文档和谷歌上搜索想疯了,我有这个简单的代码后...Kohana的身份验证登录失败每次

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' => '[email protected]', 
     'password' => 'test', 
     'password_confirm' => 'test', 
    )); 
$model->save(); 

它创建用户蛮好的,也将其设置role_id为1和2,这意味着我已经管理员/登录权限,但它一直没有反正,如果我使用Auth::instance()->force_login($user);一切工作都很好,所以我猜测p可能与哈希有关,但我不知道在哪里。

+1

是'验证::实例() - >登录( '管理', '测试');'? – biakaveron 2012-01-08 10:21:19

回答

2

您必须设置在config/auth.php

+0

已经不是问题了,反正现在我通过删除 'if(isset($ this - > _ users [$ username])AND $ this - > _ users [$ username] === $ password)来解决问题'来自'\ modules \ auth \ classes \ kohana \ auth' – Linas 2012-01-07 20:26:03

0

司机“ORM”你存储明文密码或哈希密码?我认为Auth模块登录函数散列密码。所以也许你应该保存哈希密码。

您可以通过使用散列密码:

Auth::instance()->hash('your_password');