Yii检查用户是否在每个页面之前登录 [php]


Answers

你也可以检查使用这个,如果是真的,那么用户没有登录,否则登录

    if(Yii::app()->user->isGuest){
     //not logged user
    }else{
     //loggedin user
    }
Question

我必须在渲染每个页面之前检查用户是否记录了例子:

http://mypage.com/site/about

在开始检查用户是否登录,如果没有 - 重定向汤姆登录页面我不想将其添加到每个单一的组件,如何对此?




这对我有用

public function beforeAction(CAction $action)
{
    if(!isset(Yii::app()->user->user_id) && !($action->controller->id == 'site' && $action->id == 'login'))
    {
        $this->redirect(array('site/login'));
    }

    return true;
}

你只需要在component / Controller.php中添加上面的函数




用beforeAction扩展组件/控制器

public function beforeAction(CAction $action)
{
    if(!isset(Yii::app()->session['user']) && !($action->controller->id == 'site' && $action->id == 'login'))
    {
        $this->redirect(array('site/login'));
    }

    return true;
}



对不起僵尸发布,但我使用isGuest。

if (Yii::app()->user->isGuest)
{
  $this->redirect('login/page');
}