Для тех, кто знаком с модулем Auth в Kohana, я не могу войти в систему пользователя. Я могу создать пользователя нормально, но, очевидно, хэши не совпадают. Я использовал схему предоставления MySql для создания БД, и я использую модели модулей.
Вот мой код для создания пользователя:
public function user_create()
{
$user = ORM::factory('user');
$user->username = "user";
$this->auth = Auth::instance();
$user->email = "info@test.com";
$user->password = $this->auth->hash_password('admin');
$user->add(ORM::factory('role', 'login'));
$user->add(ORM::factory('role', 'admin'));
if ($user->save())
{
$this->template->title = "user saved";
$this->template->content = "user saved";
}
}
Создает пользователя с хешированным паролем и назначает ему надлежащие роли для входа в систему и администрирования. Все отлично выглядит в БД. Вот мой код для входа. Я пропустил начальную часть, которая проверяет, вошел ли пользователь в систему.
$user = $this->input->post('username');
$password = $this->input->post('password');
if(!empty($user))
{
$find_user = ORM::factory('user')->where('username', $user)->find();
$username = $find_user->username;
$this->auth = Auth::instance();
if($this->auth->login($username, $password))
{
$error = "logged in";
}
else
{
$error = "not logged in at all";
}
}
$this->template->content = new View('admin/login_view');
$this->template->content->user_info = $username . " " . $password;
$this->template->title = "Login Admin";
$this->template->content->bind('error', $error);
Всегда возвращает «не авторизован». Я подтверждаю, что ввел правильное имя пользователя и пароль, но он не входит в систему. Я не могу понять, почему. Я использую встроенную функцию hash_password, чтобы создать пароль, и я следовал за документами, но я не могу определить ошибку. Любая помощь?