2

我正在尝试使用以下控制器操作登录,但我的登录尝试一直失败(我收到“无效的用户名和/或密码”消息)。我究竟做错了什么?我还尝试了auth 文档中示例中给出的其他方法Auth::instance()->login($user->username, $form->password);,但我得到了相同的结果。Kohana 版本是 2.3.4。

public function login() {
    $auth = Auth::instance();
    if ($auth->logged_in()) {
        url::redirect('/account/summary');
    }

    $view = new View('login');
    $view->username = '';
    $view->password = '';

    $post = $this->input->post();
    $form = new Validation($post);
    $form->pre_filter('trim', 'username')
         ->pre_filter('trim', 'password')
         ->add_rules('username', 'required');

    $failed = false;
    if (!empty($post) && $form->validate()) {
        $login = array(
            'username'  => $form->username,
            'password'  => $form->password,
        );
        if (ORM::factory('user')->login($login)) {
            url::redirect('/accounts/summary');
        } else {
            $view->username = $form->username;
            $view->message = in_array('required', $form->errors()) ?
                             'Username and password are required.' :
                             'Invalid username and/or password.';
        }
    }

    $view->render(true);
}
4

1 回答 1

0

找出我的问题......我的注册过程中缺少某些东西,因为它正在创建用户记录,而不是角色到用户的关联记录。登录需要特定角色才能登录,否则即使使用有效的用户名和密码也无法使用。手动插入记录允许我登录,所以我只需要稍微调试一下我的注册操作。

于 2010-04-19T18:20:20.450 回答