В общем вопрос такой. Решил попробовать что-то кроме шустрых самописных велосипедов. Выпор пал на кохану.
Собственно вопрос такой, решил я сделать простейшую авторизацию юзера по паре логин/пароль. Ну в общем случае начал с того, с чего обычно все начинают, открыл мануал, с десяток статей, начал писать.
Собственно, сразу вылезли вопросы:
1. Хочу юзать PDO драйвер для работы с БД, сконфигурил его:
Тут же вылетает замечательная ошибка "Database method list_columns is not supported by Kohana_Database_PDO". Вопрос, как сие понимать, драйвер у нас для работы с PDO есть, а Auth на него пересадить не осилили?
2. Ладно, плюнул, погуглив перед этим. Сделал конфиг базы на основе mysql экстеншена. Далее через мануал создал в родной раскладке базы данных, которая идет в комплекте с движком, нового юзера, через:
Юзер вроде как в базу упал, дальше пробую залогиниться под ним:
Уже блин рога все об гугл стер, потому как не могу понять что фреймворку не хватает, не авторизуется мой юзер и все. Может есть пара статей каких по нормальной реализации этого механизма? Ткните плиз носом.
PS: Я могу написать все ручками, без Kohana::Auth, но хочется попробовать написать все именно через нативный модуль фреймворка.
Собственно вопрос такой, решил я сделать простейшую авторизацию юзера по паре логин/пароль. Ну в общем случае начал с того, с чего обычно все начинают, открыл мануал, с десяток статей, начал писать.
Собственно, сразу вылезли вопросы:
1. Хочу юзать PDO драйвер для работы с БД, сконфигурил его:
PHP:
return array
(
'default' =>
[
'type' => 'pdo',
'connection' => [
'dsn' => 'mysql:dbname=kohana;host=127.0.0.1',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'password',
'persistent' => FALSE,
],
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'object' => true,
'profiling' => TRUE,
],
);
2. Ладно, плюнул, погуглив перед этим. Сделал конфиг базы на основе mysql экстеншена. Далее через мануал создал в родной раскладке базы данных, которая идет в комплекте с движком, нового юзера, через:
PHP:
try {
$post['username'] = 'login';
$post['username'] = '[email protected]';
$post['password'] = 'password';
$post['password_confirm'] = 'password';
ORM::factory('user')->create_user($post, array('username', 'username', 'password'));
} catch (ORM_Validation_Exception $e) {
$errors = $e->errors('orm-validation', true);
print_r($errors);
}
PHP:
$r = Auth::instance()->login("login", "password");
print_r($r);
if (Auth::instance()->logged_in()) {
print_r(Auth::instance()->get_user());
echo 'Авторизация прошла успешно';
} else {
echo 'Ошибка при авторизации';
}
PS: Я могу написать все ручками, без Kohana::Auth, но хочется попробовать написать все именно через нативный модуль фреймворка.