Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> yii авторизация 
:(
    Опции темы
studentigor
Дата 1.3.2012, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



всем привет.

Решил разобратся с yii.

в литературе, по которой я начал учить написано что начинать нужно с регистрации/авторизации.

вобщем авторизация
код с контроллера
Код

if(isset($_POST['LoginForm'])){
            $model->attributes=$_POST['LoginForm'];
            if($model->validate() && $model->login())
                $this->redirect(Yii::app()->user->returnUrl);


тут отправляюсь в модель LoginForm в метод login, вот он
Код

public function login()
    {
        if($this->_identity===null)
        {
            $this->_identity=new UserIdentity($this->login,$this->password);
            if($this->_identity->authenticate()){
                Yii::app()->user->login($this->_identity);
                
            }
            else{
             echo $this->_identity->errorMessage;
         }
        }
        print_r($this->_identity->errorCode);//если есть ошибка - получаю результат. если нет, должен получить 0, но ничего не получаю
        if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
        {
            $duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
            Yii::app()->user->login($this->_identity,$duration);
            return true;
        }
        else
            return false;
    }

метод логин отправляет меня, в свою очередь, в компонент UserIdentity, вот куда
Код

public function authenticate()
    {
        $users=array(
            // username => password
            'igot'=>'12345',
        );
        if(isset($users[$this->username]))
            $this->errorCode=self::ERROR_USERNAME_INVALID;
        else if($users[$this->username]!==$this->password)
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
        else
            $this->errorCode=self::ERROR_NONE;
        print_r($this->errorCode);//тут результат есть в любом случае.
        return $this->errorCode;
    }


так вот вопрос $this->identity->authenticate() должен мне вернуть либо код ошибки, либо 0 если ошибок нет. перед ретурном у меня віводится код ошибки, если ошибка есть то 
Код

print_r($this->_identity->errorCode);
        if($this->_identity->errorCode===UserIdentity::ERROR_NONE)

она выводится, а если код ошибки 0 - то уже не выводится, тоесть получается что результат гдето теряется, ну соответственно если логин и пароль правельный, то авторизация не происходит.

Я понимаю что это тут легко, но та литература по которой я начал учить, там вроде как все попарядку написано, но немного сложновато.
Если кто встречал литературу по YII для чайников(но на русском) дайте ссылк
PM MAIL   Вверх
SamDark
Дата 1.3.2012, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38





--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0777 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.