如果不在yii框架中登录,如何重定向登录页面?

如果不在yii框架中登录,如何重定向登录页面?,yii,Yii,我有actionLogin并创建cookie,如下所示: public function actionLogin() { $this->layout = 'login'; $model=new LoginForm; if(isset($_POST['LoginForm'])) { $model->attributes=$_POST['LoginForm'];

我有actionLogin并创建cookie,如下所示:

public function actionLogin()
    {
        $this->layout = 'login';

        $model=new LoginForm;

        if(isset($_POST['LoginForm']))
        {           
            $model->attributes=$_POST['LoginForm'];
            if($model->validate() && $model->login()){          
                $cookie = new CHttpCookie('loginSuccess',$model->username);
                $cookie->expire = 604800;                   
                Yii::app()->request->cookies['loginSuccess'] = $cookie;         
                $this->redirect('/ktbeauty/index.php/categories/index');
            }           
        }

        $this->render('login',array(
            'model'=>$model,
        ));
    }
现在我有一些控制器,在访问控制器之前必须检查登录,如果不登录,它必须重定向到登录页面,我该如何处理


非常感谢

在控制器的操作中,您可以尝试这样的操作

public function actionGoToLogin()
{
if(!Yii::app()->user->isGuest)
            {
             // do something if user is authenticated   
            }
            else
            {
                Yii::app()->user->loginRequired();
              // or if you want you can redirect using Yii::app()->createUrl('controller/login');
            }
}

在控制器中,您具有以下功能:

public function accessRules() {
在这里,您可以定义可以访问这些功能的操作和用户。 若你们并没有登录,那个么默认情况下它会重定向到登录页面

默认情况下,此功能在YII中可用

检查此URL:

@让我们看看如何将上述代码用于所有控制器?因为上面的代码将被重复使用>我只想立即使用代码。