kohana2 auth - проблема со входом - PullRequest
3 голосов
/ 29 июня 2011

Я пытаюсь создать форму для входа в приложение kohana2, используя пример ORM, представленный в документации kohana2 (http://docs.kohanaphp.com/addons/auth) Я сделал все как в вики, но после ввода имени пользователя, пароля и отправки формы ничего не происходит. Нет ошибок, нет исключений, ничего! точно такая же форма без ошибок.

Вот действие контроллера, единственное, что я изменил, это добавление функциональности шаблона: http://pastebin.com/jEc4nqSP

В строке 42 есть функция die(), предназначенная для отладки. После отправки формы отображается Array ( [username] => invalid ) 1. Я уверен, что у меня есть эти пользовательские данные в базе данных, и я предоставляю правильное имя пользователя и пароль. Роли установлены на login. Ты хоть представляешь, что я делаю не так?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 октября 2011

ОК, проблема решена!Все, что нам нужно сделать, это создать нового пользователя с этим кодом (контроллер регистрации из 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');
}

Предыдущие данные для входа администратора не работали, потому что пароль не был правильно хеширован.

0 голосов
/ 30 июня 2011

В строке 39 вы создаете пустой объект пользователя ORM.Как минимум, конечно, вы хотите:

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

Хотя вы, вероятно, хотите реорганизовать это, поэтому он фактически проверяет, установлено ли значение имени пользователя.

...