kohana 3.3 model_user

时间:2013-02-14 19:15:41

标签: authentication model kohana

我开始将Kohana 3.3用于我的应用程序项目。我创建了一个基本的帐户控制器,其操作(登录/注销)使用ORM Auth方法完美运行,而不使用任何自定义模型。

public function action_login()
{
    if (Auth::instance()->logged_in())
    {
        $this->redirect('profile');
    }

    $this->template->content = View::factory('account/login')
        ->bind('message', $message)
        ->bind('errors', $errors);

    if (HTTP_Request::POST == $this->request->method()) 
    {   
        $user = ORM::factory('User')->login(
            $this->request->post('username'), 
            $this->request->post('password')
        );

        if ($user) 
        {
            $this->redirect('profile');
        } 
        else 
        {
            $message = 'Login failed';
        }
    }
}

但是当我尝试添加Model_User(扩展Model_Auth_User)时,这是非常基本的:

class Model_User extends Model_Auth_User {}

我收到以下错误:

Call to undefined method Model_User::login()

由于模型扩展了模块的核心类,他不应该也包含login()方法吗?

1 个答案:

答案 0 :(得分:1)

您应该将ORM::factory('User')替换为Auth::instance(),如此

$user = Auth::instance()->login($this->request->post('username'),$this->request->post('password'));