gpt4 book ai didi

kohana - 无法使用 Kohana 3.3.0 ORM Auth 登录

转载 作者:行者123 更新时间:2023-12-04 23:25:24 26 4
gpt4 key购买 nike

我正在尝试在 Kohana 3.3.0 中将 Auth 模块与 ORM 驱动程序一起使用,但我唯一能做的就是在数据库中插入新用户。我不能用他们登录。

我从一个空白的 Kohana 项目、一个简单的路由、数据库配置文件开始,然后导入了 ORM 模块中包含的 auth SQL 模式(没有其他表)。我没有为用户创建新的模型文件。

这是我复制到我的应用程序路径/配置目录的配置文件:

<?php defined('SYSPATH') or die('No direct access allowed.');

return array(

'driver' => 'ORM',
'hash_method' => 'sha256',
'hash_key' => 'secretkey',
'lifetime' => 1209600,
'session_type' => Session::$default,
'session_key' => 'auth_user',
'users' => array()

);

现在这是我的简单 Controller 。我尝试将用户加载到 te 数据库中,然后使用同一用户登录。
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_User extends Controller {

public function action_index(){

// Enter a new user manually
$user = ORM::factory('user');
$user->username = 'mylogin';
$user->password = 'mypassword';
$user->email = 'me@email.fr';

try{
$user->save();
}
catch(ORM_Validation_Exception $e){
$errors = $e->errors();
}

if(isset($errors)){
$this->response->body(var_dump($errors));
}else{

// Login with this user
$success = Auth::instance()->login('mylogin','mypassword');
if ($success){
$this->response->body("Welcome !");
}else{
$this->response->body("Not welcome...");
}
}
}
}

该 Controller 无法登录。但是当我检查我的数据库时,我看到用户已正确保存密码散列。我忘记了我的配置吗?

最佳答案

每个用户都必须有一个 login角色:

...
$user->save();
$user->add('roles', ORM::factory('role')->where('name', '=', 'login')->find());

关于kohana - 无法使用 Kohana 3.3.0 ORM Auth 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com