douhua9726 2014-03-28 07:00
浏览 35
已采纳

Yii - 登录后如何防止用户访问登录页面

everyone. I want to prevent user accessing login page after they have logged in. What is the best way to do that? Here's the code of config/main/php

return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Web',
'defaultController' => 'site/login')

And SiteContoller.php

public function actionLogin()
{
    $model=new LoginForm;

    // 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()){
            $isAdmin = Yii::app()->user->getLevel() <=1; // or how you define admin in your case.
            if ($isAdmin)
                $this->redirect(array('user/view', 'id'=>Yii::app()->user->id));
            else
            //$id = Yii::app()->user->id;
                $this->redirect(array('site/index'));
        }
    }
    // display the login form
    $this->render('login',array('model'=>$model));
}

In 'defaultController'=>'site/login' I also want user not accessing login page after they close brower and reopen it. Is that possible? Thanks a lot

  • 写回答

3条回答 默认 最新

  • doufeixuan8882 2014-03-28 07:40
    关注

    You can try this way, its simple .

    public function actionLogin()
    {
    
       if(!Yii::app()->user->isGuest)
       {
           $this->redirect(array('index')); 
       }
    
       // rest of the codebelow.
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计