Авторизация!!!

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Ren4ik
Сообщения: 49
Зарегистрирован: 2011.10.12, 15:32

Авторизация!!!

Сообщение Ren4ik »

Подскажите пожалуйста, что не так делаю???

Контроллер

Код: Выделить всё

public function actionLogin()
    {  
        $model=new LoginForm;
        if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
        {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }
        if(isset($_POST['LoginForm']))
        {
            $model->attributes=$_POST['LoginForm'];
            if($model->validate() && $model->login())
                $this->redirect(Yii::app()->user->returnUrl);
        }
        $this->render('login',array('model'=>$model));
    }  
Модель

Код: Выделить всё

class LoginForm extends CActiveRecord
{
    public $us_login;
    public $us_pass;
    
    public static function model($className=__CLASS__)
     {
         return parent::model($className);
     }
     
     public function tableName()
     {
         return 'user';
     }
 
    public function rules()
    {
        return array(
            array('us_login, us_pass', 'required'),
            array('us_pass', 'authenticate', 'on' => 'login'),
        );
    }
    public function attributeLabels()
     {
         return array(
             'us_login' => 'Логин',
             'us_pass'  => 'Пароль',
         );
     }
     
    public function authenticate($attribute,$params) 
    {
        // Проверяем были ли ошибки в других правилах валидации.
        // если были - нет смысла выполнять проверку
         if(!$this->hasErrors())
        {
            $identity= new UserIdentity($this->us_login, $this->us_pass);
             $identity->authenticate();
                
                switch($identity->errorCode)
                {
                     case UserIdentity::ERROR_NONE: {
                        break;
                    }
                    case UserIdentity::ERROR_USERNAME_INVALID: {
                         // Если логин был указан наверно - создаем ошибку
                        $this->addError('us_login','Пользователь не существует!');
                        break;
                    }
                     case UserIdentity::ERROR_PASSWORD_INVALID: {
                        // Если пароль был указан наверно - создаем ошибку
                        $this->addError('us_pass','Вы указали неверный пароль!');
                         break;
                    }
                }
        }
    }
} 
Форма

Код: Выделить всё

<div id="simpleMenu2" class="form">
<h1>Авторизация</h1>
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'login-form',
    'enableAjaxValidation'=>true,
    'enableClientValidation'=>false,
    'clientOptions' => array(
        'validateOnSubmit' => true,
        'validateOnChange' => true,
    ),
)); ?> 
    <div class="row">
        <?php echo $form->labelEx($model,'us_login'); ?>
        <?php echo $form->textField($model,'us_login'); ?>
        <?php echo $form->error($model,'us_login'); ?>
    </div>
 
    <div class="row">
        <?php echo $form->labelEx($model,'us_pass'); ?>
        <?php echo $form->passwordField($model,'us_pass'); ?>
        <?php echo $form->error($model,'us_pass'); ?>
    </div>
 
    <div class="row buttons">
        <?php echo CHtml::submitButton('Вход'); ?>
    </div>
 
<?php $this->endWidget(); ?>
</div><!-- form -->
Последний раз редактировалось Ren4ik 2011.10.20, 09:51, всего редактировалось 2 раза.
Аватара пользователя
alaevka
Сообщения: 77
Зарегистрирован: 2010.03.12, 11:34
Контактная информация:

Re: Авторизация!!!

Сообщение alaevka »

Подскажите пожалуйста, а что не так работает?
Ren4ik
Сообщения: 49
Зарегистрирован: 2011.10.12, 15:32

Re: Авторизация!!!

Сообщение Ren4ik »

alaevka походу та же проблема!!)))
Ren4ik
Сообщения: 49
Зарегистрирован: 2011.10.12, 15:32

Re: Авторизация!!!

Сообщение Ren4ik »

в общем не авторизируется!!!
Ren4ik
Сообщения: 49
Зарегистрирован: 2011.10.12, 15:32

Re: Авторизация!!!

Сообщение Ren4ik »

Люди, может у кого есть пример авторизации?? у меня не как не хотят сравниваться данные формы с базой!! при нажитие на кнопку "Вход", сразу же происходит переход, без проверки на правильность, логина и пароля!
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: Авторизация!!!

Сообщение timlar »

Посмотри внимательно код демо-блога.
Twitter: @timlar_ua
Ren4ik
Сообщения: 49
Зарегистрирован: 2011.10.12, 15:32

Re: Авторизация!!!

Сообщение Ren4ik »

Смотрел, вроде бы же все правильно сделал...
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: Авторизация!!!

Сообщение timlar »

Возможно, где-то опечатка. Сотни людей делали авторизацию на примере демо-блога и у всех все работало.
Twitter: @timlar_ua
Johnatan
Сообщения: 167
Зарегистрирован: 2010.10.27, 13:06
Откуда: Reino de España

Re: Авторизация!!!

Сообщение Johnatan »

Вы уверены, что LoginForm должна наследоваться от CActiveRecord? Я - нет.
Конференция: yii@conference.jabber.ru
Ответить