public function action_login()
{
// Проверяем вошел ли пользователь
if ($this->_auth->logged_in('login'))
$this->request->redirect('');
if ( ! empty($_POST['subbtnenter']))
{
$data = Arr::extract($_POST, array('email', 'password', 'remember_me'));
$status = $this->_auth->login($data['email'], $data['password'], (bool) $data['remember_me']);
if ($status)
{
if ($this->_auth->login_in('admin'))
$this->request->redirect('admin');
$this->request->redirect('account');
}
else
{
die('Не вошел');
}
}
}
public function action_register()
{
// Проверяем вошел ли пользователь
if ($this->_auth->logged_in('login'))
$this->request->redirect('');
if (isset($_POST['subbtnreg']))
{
$users = ORM::factory('user');
try
{
$users->create_user($_POST, array('email', 'password'))
->add('roles', ORM::factory('role', array('name' => 'login')));
$this->action_login();
$this->request->redirect('');
}
catch (ORM_Validation_Exception $e)
{
die('Неудача');
}
}
Спустя 10 минут, 14 секунд (4.04.2012 - 21:52) Invis1ble написал(а):
токены должны записываться только при автологине (Remember me = true)
Цитата |
проблема с авторизацией |
собственно, не понятно, что за проблема
Спустя 12 минут, 26 секунд Invis1ble написал(а):
возможно, проблема в мускуле
попробуй добавить в модель
class Model_User_Token extends ORM {
// mysql fix
protected $_created_column = array('column' => 'created', 'format' => 'Y-m-d H:i:s');
// ....
}
Спустя 24 минуты, 30 секунд (4.04.2012 - 22:17) Jack_White написал(а):
Цитата (Invis1ble @ 4.04.2012 - 18:52) |
токены должны записываться только при автологине (Remember me = true) |
да, и там тру.
Цитата (Invis1ble @ 4.04.2012 - 19:05) |
возможно, проблема в мускуле попробуй добавить в модель |
ок попробую, спасибо за совет
Спустя 2 минуты, 49 секунд Jack_White написал(а):
Цитата (Invis1ble @ 4.04.2012 - 18:52) |
собственно, не понятно, что за проблема |
ну регистрация проходит успешно, а потом когда пытаюсь зайти метод login() возвращает ! true
Спустя 4 минуты, 58 секунд (4.04.2012 - 22:22) Invis1ble написал(а):
В $this->_auth что? Инстанс?
$this->_auth->login_in('admin') - что за метод? Код в студию.
$this->_auth->login_in('admin') - что за метод? Код в студию.
Спустя 6 минут, 16 секунд (4.04.2012 - 22:28) Jack_White написал(а):
Invis1ble
да, в базовом шаблоне в методе before();
$this->_auth = Auth::instance();
да, в базовом шаблоне в методе before();
$this->_auth = Auth::instance();
Спустя 4 минуты, 46 секунд (4.04.2012 - 22:33) Invis1ble написал(а):
а, login() false возвращает... Ну отдебаж пошагово его
Спустя 2 минуты, 33 секунды Invis1ble написал(а):
у меня была проблема, исключение выбрасывалось на уровне ORM при remeber == true, изза косяка с полем created (особо не вникал в причину, но я так понял изза версии мускула. решилось явным описанием поля в модели)
Спустя 2 минуты, 33 секунды Invis1ble написал(а):
у меня была проблема, исключение выбрасывалось на уровне ORM при remeber == true, изза косяка с полем created (особо не вникал в причину, но я так понял изза версии мускула. решилось явным описанием поля в модели)
Спустя 12 минут, 18 секунд (4.04.2012 - 22:45) Jack_White написал(а):
Invis1ble ты имеешь ввиду создать модель для токена и вставить туда одну строчку
protected $_created_column = array('column' => 'created', 'format' => 'Y-m-d H:i:s');или что?
Спустя 2 минуты, 35 секунд (4.04.2012 - 22:48) Invis1ble написал(а):
да, попробуй
хотя если у тебя просто false возвращает, а не исключение кидает - то наверное не поможет, но ты попробуй, может исключение внутри где ловится
Спустя 1 минута, 59 секунд Invis1ble написал(а):
хотя нет, не просто одну строчку
если ты следуешь концепции коханы - то тебе нужно скопировать полностью код модели из модуля в уровень application и там добавить эту строку
ну или можешь добавить ее в код модели в модуле (но это не труЪ)
хотя если у тебя просто false возвращает, а не исключение кидает - то наверное не поможет, но ты попробуй, может исключение внутри где ловится
Спустя 1 минута, 59 секунд Invis1ble написал(а):
хотя нет, не просто одну строчку
если ты следуешь концепции коханы - то тебе нужно скопировать полностью код модели из модуля в уровень application и там добавить эту строку
ну или можешь добавить ее в код модели в модуле (но это не труЪ)
Спустя 8 минут, 52 секунды (4.04.2012 - 22:56) Jack_White написал(а):
Invis1ble
я запутался немного, в modules-orm-user-token.php
мне наследовать от Model_User_Token?
я запутался немного, в modules-orm-user-token.php
<?php defined('SYSPATH') or die('No direct access allowed.');
class Model_User_Token extends Model_Auth_User_Token {
// This class can be replaced or extended
} // End User Token Model
мне наследовать от Model_User_Token?
Спустя 3 минуты, 35 секунд (4.04.2012 - 23:00) Invis1ble написал(а):
это я затупил
короче попробуй просто в этот код эту строку добавить, если поможет - скопируешь потом код в APPPATH.'classes/model'
короче попробуй просто в этот код эту строку добавить, если поможет - скопируешь потом код в APPPATH.'classes/model'
Спустя 5 минут, 56 секунд (4.04.2012 - 23:06) Jack_White написал(а):
ok, спасибо, сегодня уже не успею, завтра попробую отпишусь, а то уже несколько дней с этой проблемой сижу и все никак
Спустя 4 минуты, 28 секунд (4.04.2012 - 23:10) Jack_White написал(а):
Кстати многие писали что у них были подобные проблемы, но при переносе на хостинг они исчезли
Спустя 11 часов, 7 минут, 17 секунд (5.04.2012 - 10:18) Jack_White написал(а):
Не, не помогло(
Спустя 27 минут, 9 секунд (5.04.2012 - 10:45) Invis1ble написал(а):
ну тогда хз, ковыряй код
Спустя 9 минут, 55 секунд (5.04.2012 - 10:55) Jack_White написал(а):
а есть какие-нибудь источники по созданию авторизации на Kohana 3.2?
я ничего не нашел, все по старой версии 3.1
я ничего не нашел, все по старой версии 3.1
Спустя 1 минута, 5 секунд (5.04.2012 - 10:56) Invis1ble написал(а):
я не встречал, но и не искал на эту тему, ибо все элементарно
Спустя 4 минуты, 12 секунд (5.04.2012 - 11:00) Jack_White написал(а):
ладно буду дальше разбираться, спасибо)
Спустя 12 часов, 46 минут, 9 секунд (5.04.2012 - 23:46) Jack_White написал(а):
Разобрался, но теперь новая проблема:
появляется когда указываю "запомнить меня" - Auth::instance()->login($username, $password, true)
необходимо указать какой-то параметр который заносится в поле type, таблицы user_tokens что-то связанное с куки или сессией?
Database_Exception [ 1364 ]: Field 'type' doesn't have a default value [ INSERT INTO `user_tokens` (`user_id`, `user_agent`, `expires`, `token`) VALUES ('1', '311ff8eeee79cffcb30e2ad5fc418ef1b67272f3', 1334867721, '9dc0941a3cdbc929875f6c573e8c26baa2403415') ]
появляется когда указываю "запомнить меня" - Auth::instance()->login($username, $password, true)
необходимо указать какой-то параметр который заносится в поле type, таблицы user_tokens что-то связанное с куки или сессией?
Спустя 10 часов, 43 минуты, 45 секунд (6.04.2012 - 10:30) Invis1ble написал(а):
я вообще не знаю для чего это поле, в исходниках не нашел упоминаний о нем
сделай его NULL DEFAULT NULL
сделай его NULL DEFAULT NULL
Спустя 1 час, 18 минут, 7 секунд (6.04.2012 - 11:48) Jack_White написал(а):
Invis1ble
ок, если ничего не найду сделаю так, спасибо
ок, если ничего не найду сделаю так, спасибо