barname_newis
شنبه 07 تیر 1393, 10:50 صبح
سلام دوستان
من در حال نوشتن یک فروشگاه با فریمورک yii هستم دو دسته کاربر کلی داریم یک دسته مشتری هستن و یک دسته مدیر
حالا برای لاگین مشتریان از اکشن login استفاده میکنم :
public function actionLogin()
{
if(!Yii::app()->user->getState('userIsCustomer'))
{
$model=new LoginForm('Front');
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
{
$this->redirect(Yii::app()->user->returnUrl);
}
}
// display the login form
$this->render('login',array('model'=>$model));
}else
{
$this->redirect('index.php');
}
}
و برای لاگین مدیران از اکشن adminLogin :
public function actionAdminLogin()
{
if(!Yii::app()->user->getState('userIsAdmin'))
{
$model=new LoginForm('Back');
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
{
$this->redirect('/admin/dashboard/index');
}
}
// display the login form
$this->render('login',array('model'=>$model));
}else
{
$this->redirect('/admin/dashboard/index');
}
}
1- این روش از نظر شما مشکلی نداره ؟
2- یه مشکل بهش خوردم و اونم اینه که مشتریانی که لاگین کردن رو سیستم نمیشناسه و role های @ برای اونها ست نمیشه باید چیکار کنم؟
ممنون میشم راهنمایی کنید
من در حال نوشتن یک فروشگاه با فریمورک yii هستم دو دسته کاربر کلی داریم یک دسته مشتری هستن و یک دسته مدیر
حالا برای لاگین مشتریان از اکشن login استفاده میکنم :
public function actionLogin()
{
if(!Yii::app()->user->getState('userIsCustomer'))
{
$model=new LoginForm('Front');
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
{
$this->redirect(Yii::app()->user->returnUrl);
}
}
// display the login form
$this->render('login',array('model'=>$model));
}else
{
$this->redirect('index.php');
}
}
و برای لاگین مدیران از اکشن adminLogin :
public function actionAdminLogin()
{
if(!Yii::app()->user->getState('userIsAdmin'))
{
$model=new LoginForm('Back');
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if($model->validate() && $model->login())
{
$this->redirect('/admin/dashboard/index');
}
}
// display the login form
$this->render('login',array('model'=>$model));
}else
{
$this->redirect('/admin/dashboard/index');
}
}
1- این روش از نظر شما مشکلی نداره ؟
2- یه مشکل بهش خوردم و اونم اینه که مشتریانی که لاگین کردن رو سیستم نمیشناسه و role های @ برای اونها ست نمیشه باید چیکار کنم؟
ممنون میشم راهنمایی کنید