Войти с помощью модуля авторизации Kohana - что я делаю не так? - PullRequest
2 голосов
/ 17 апреля 2010

Я пытаюсь войти в систему с помощью следующего действия контроллера, но моя попытка входа в систему не удается (я получаю сообщение «неверное имя пользователя и / или пароль»). Что я делаю неправильно? Я также попробовал другой метод, приведенный в примерах в документации по аутентификации , Auth::instance()->login($user->username, $form->password);, но получаю тот же результат. Кохана версия 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);
}

1 Ответ

0 голосов
/ 19 апреля 2010

Разобрался с моей проблемой ... Что-то в моем процессе регистрации отсутствует, потому что он создает запись пользователя, а не запись о роли пользователя. Для входа в систему требуется определенная роль, иначе он не будет работать даже с действительными именем пользователя и паролем. Вставка записи вручную позволила мне войти в систему, поэтому мне просто нужно немного отладить действие по регистрации.

...