0

我的生产服务器出现 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::app()->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();

问候。

4

1 回答 1

0

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

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

试试这个或告诉我那里的天气

于 2013-09-11T19:39:13.963 回答