mstdmstd
Новичок
Всем привет ,
Пытаюсь сделать авторизацию в Kohana 3.3.0 на основе схемы( https://github.com/kohana/orm/blob/3.1%2Fmaster/auth-schema-mysql.sql ) и есть
проблемы с ролями как при создании нового юзера так и при логине
config/auth.php:
Создаю класс
При создании нового юзера
Видимо не находит какие-либо связанные данные ?
Я вообще не понял этого механизма с ролями...
И схожая проблема с ролями при попытке логина ( если строку в roles_users добавить вручную )
Я искал в нете - возможно разность версий ?
А как правильно ?
Пытаюсь сделать авторизацию в Kohana 3.3.0 на основе схемы( https://github.com/kohana/orm/blob/3.1%2Fmaster/auth-schema-mysql.sql ) и есть
проблемы с ролями как при создании нового юзера так и при логине
config/auth.php:
PHP:
<?php defined('SYSPATH') or die('No direct access allowed.');
return array(
'driver' => 'ORM',
'hash_method' => 'sha256',
'hash_key' => 'Never gonna give you up',
'lifetime' => 1209600,
'session_key' => 'auth_user'
);
PHP:
class Model_Users extends Model_Auth_User
{
protected $password_confirm= '';
protected $_table_name = 'users';
protected $_has_many = array( // Вот не знаю а нужно ли тут описывать связанные таблицы ?
'user_tokens' => array('model' => 'User_Token'),
'roles' => array('model' => 'Role', 'through' => 'roles_users'),
);
PHP:
$UsersDataArray= array( 'username'=>$login, 'password'=> $password, 'password_confirm'=> $password, 'email'=>$email );
$ValidationsArray= array( 'username', 'password', 'password_confirm', 'email' );
$ResUser= ORM::factory('users') ->create_user( $UsersDataArray, $ValidationsArray ); // Пользователь создается в базе c указанными выше полями
$ResUserRoles= $ResUser -> add('roles', ORM::factory('role', array( `users_id`, `role_id` ))); // Тут выскакивает ошибка Database_Exception [ 1054 ]: Unknown column '1' in 'where clause' [ SELECT `bp_role`.`id` AS `id`, `bp_role`.`name` AS `name`, `bp_role`.`description` AS `description` FROM `bp_roles` AS `bp_role` WHERE 0 IS NULL AND `1` IS NULL LIMIT 1 ]
Я вообще не понял этого механизма с ролями...
И схожая проблема с ролями при попытке логина ( если строку в roles_users добавить вручную )
PHP:
$is_logged= Auth::instance()->login($login, $password );
Я полез в метод login и вижу что не срабатывает 1я часть условия
if ($user->has('roles', ORM::factory('Role', array('name' => 'login'))) AND $user->password === $password)
А как правильно ?