راهنمايي : Login خودكار بعد از ثبت نام با اين روش

[font="Tahoma"][rtl]سلام دوستان

براي login خودكار بعد از ثبت نام از اين روش استفاده كردم

به نظر شما مشكل امنيتي چيزي نداره؟

توي مدل user اين رو اضافه كردم:

[/rtl][/font]


public function afterValidate() {

    parent::afterValidate();

    //ensure we dont have any other errors

    if(!$this->hasErrors()){

        $this->password = md5($this->password);

        Yii::app()->user->setState('autoLoginPassword', $this->password);

    }

     

}

[font="Tahoma"][rtl] اكشن create از كنترلر user رو هم به اين شكل تغيير دادم:[/rtl][/font]


 public function actionCreate()

    {

        $model=new User;

 

        // Uncomment the following line if AJAX validation is needed

        // $this->performAjaxValidation($model);

 

        if(isset($_POST['User']))

        {

//                    CVarDumper::dump($_POST['User']);

            $model->attributes=$_POST['User'];

            if($model->save()){

                            # auto login

                            if(Yii::app()->user->hasState('autoLoginPassword')){

                                $identity=new UserIdentity($_POST['User']['username'],Yii::app()->user->getState("autoLoginPassword"));

                                $identity->errorCode = UserIdentity::ERROR_NONE;

                                $identity->setId($model->user_id);

                                $identity->username = $model->username;

                                $identity->authenticate();

                                Yii::app()->user->login($identity);

 

                                $this->redirect(Yii::app()->user->returnUrl);

//                            $this->redirect(array('view','id'=>$model->user_id));

                            }

                        }

        }

 

        $this->render('create',array(

            'model'=>$model,

        ));

    }

[right]قبل از هر موردی و جدای از لاگین خودکار ،

md5

هش مناسبی واسه پسورد نیست. بهتره از

crypt

استفاده کنی!

[/right]

[font="Tahoma"][rtl]

در مورد auto login مشكل خاصي نداره؟

[/rtl][/font]

[right]من مشکل خاصی نمیبینم[/right]

[font="Tahoma"][rtl]یه راه قشنگ تر[/rtl][/font]


if ($model->save()){

        # auto login

        $loginForm = new LoginForm;

        $loginForm->attributes = $_POST['User'];

        if ($loginForm->login()) {

                # redirect the user

        }

}