kohana2 auth - 登录问题

时间:2011-06-29 17:05:23

标签: php model-view-controller kohana kohana-auth

我正在尝试使用kohana2 docs(http://docs.kohanaphp.com/addons/auth)中提供的ORM示例为我的kohana2应用程序创建登录表单。我已经完成了维基中的所有操作,但在提供用户名,密码和发送表单后,没有任何反应。没有错误,没有例外,没有!只是相同的形式没有任何错误。

这是控制器操作,我唯一改变的是添加模板功能:http://pastebin.com/jEc4nqSP

第42行有一个die()函数,它用于调试目的。发送表单后,会显示Array ( [username] => invalid ) 1。我确定我在数据库中拥有该用户数据,并且我提供了正确的用户名和密码。角色设置为login。你知道我做错了什么吗?

感谢。

2 个答案:

答案 0 :(得分:0)

在第39行,您将创建一个空的ORM用户对象。至少,你当然想要:

ORM::factory('user', $post['username'])

虽然您可能想重构它,但它实际上会检查是否设置了用户名值。

答案 1 :(得分:0)

好的问题解决了!我们需要做的就是使用此代码创建一个新用户(来自kohana2 docs的注册控制器):

<?php
// grab relevant $_POST data
$username = $this->input->post('username');
$password = $this->input->post('password');

// instantiate User_Model and set attributes to the $_POST data
$user = ORM::factory('user');
$user->username = $username;
$user->password = Auth::instance()->hash_password($password);

// if the user was successfully created...
if ($user->add(ORM::factory('role', 'login')) AND $user->save()) {

    // login using the collected data
    Auth::instance()->login($username, $password);

    // redirect to somewhere         
    url::redirect('user/profile');
}

之前的管理员登录数据无效,导致密码未正确散列。