yii accessrules不工作500内部错误和仍然渲染

时间:2013-09-11 17:22:49

标签: php yii

我从生产服务器收到500错误,仍在渲染中。 到目前为止,我可以去错误是因为访问规则。 我有这个配置

public function accessRules()
{
    return array(
        array('allow', 
            'actions'=>array('create','admin','delete','index', 'view','update','users'),
            'roles'=>array('SuperAdmin'),
        ),
        array('allow', 
            'actions'=>array('index', 'view','update','users'),
            'roles'=>array('Admin'),
        ),
        array('deny',  // deny all users
            'roles'=>array('Admin','User'),
        ),
        array('deny',
            'users'=>array('?'),
        )
    );
}

我的错误配置如下:     error_reporting(E_ALL&〜(E_NOTICE | E_DEPRECATED | E_STRICT));     函数ini_set( '的display_errors', '0');

这应该不是发送任何500但仍然发送。奇怪的是,它不会停止,而是继续并呈现视图。

这就是我创建角色的方式         $ AUTH = Yii的::应用程序() - > authManager;         $ roles = $ auth-> getRoles();

    if (!isset($roles['Admin']))
        $auth->createRole('Admin', 'Admin', 'return Yii::app()->user->getState("role")=="Admin";');

    if (!isset($roles['SuperAdmin']))
        $auth->createRole('SuperAdmin', 'Super Admin ', 'return Yii::app()->user->getState("role")=="SuperAdmin");');

    if (!isset($roles['User']))
        $auth->createRole('User', 'User', 'return Yii::app()->user->getState("role")=="User");');
    $auth->save();

问候。

1 个答案:

答案 0 :(得分:0)

有时会发生这种情况,因为您尚未在访问规则之前添加过滤功能

public function filters() {
    return array(
        'accessControl', // perform access control for CRUD operations
    );
}

试试这个或告诉我在那里度过天气