Php 用户登录yii

Php 用户登录yii,php,yii,Php,Yii,我是易的新朋友。我在做一个不允许客人进入的项目。如果用户未登录,则每当用户尝试访问应用程序时,都会显示登录页面。如果登录成功,它将重定向到主页。Iv了解如何通过数据库进行用户身份验证。但是,如果我想将所有来宾重定向到登录页面,那么最好的方法是什么?以及如何在控制器中获取登录用户的角色id?阅读本部分,我可以为您自动处理 array('allow', // Allow all actions for logged in users ("@") 'actions' =>

我是易的新朋友。我在做一个不允许客人进入的项目。如果用户未登录,则每当用户尝试访问应用程序时,都会显示登录页面。如果登录成功,它将重定向到主页。Iv了解如何通过数据库进行用户身份验证。但是,如果我想将所有来宾重定向到登录页面,那么最好的方法是什么?以及如何在控制器中获取登录用户的角色id?

阅读本部分,我可以为您自动处理

    array('allow', // Allow all actions for logged in users ("@")
        'actions' => array(....),
        'users' => array('@'),
    ),
意味着仅允许登录用户访问控制器中的那些操作

这个班的例子

class MyController extends CController {
    public function filters()
    {
        return array( 'accessControl' ); // perform access control for CRUD operations
    }

    public function accessRules()
    {
        return array(
            array('allow', // allow authenticated users to access all actions
                'users'=>array('@'),
            ),
            array('deny'),
        );
    }
}
然后,您可以为所有控制器执行此操作(登录控制器除外)


如果我没有错,我将不得不为每个控制器分别编写访问规则。是否有办法拒绝来宾从一个地方访问所有控制器。详细信息。此外,所有控制器都可以扩展1个类。创建您自己的具有过滤器和accessRules函数的类,并且您的所有控制器类都可以扩展该类。
class SomeController extends MyController {