如何在yii2中禁用更新按钮?

时间:2017-06-09 17:17:12

标签: yii yii2

我的控制器中有这样的访问控制:

public function behaviors()
 {
return [
   'access'=>[
            'class' => AccessControl::className(), 
            'only'=>['view','index'],
            'rules'=>[
                [    
                    'allow'=>true,
                    'actions'=>['view','index'],
                    'roles'=>['@'],
                ]
             ],
    ],
    ];
}

如果我使用该代码,则可以更新数据记录。但我现在需要的是如何禁用更新按钮?当我们点击更新时,它将被禁止。怎么做到的?提前致谢

1 个答案:

答案 0 :(得分:1)

update操作添加到受AccessControl规则影响的操作数组中:

public function behaviors()
{
    return [
       'access'=>[
            'class' => AccessControl::className(), 
            'only' => ['view', 'index', 'update'],
            'rules' => [
                [    
                    'allow' => true,
                    'actions' => ['view', 'index'],
                    'roles' => ['@'],
                ]
            ],
        ],
    ];
}

这种规则也适用于actionUpdate,因为在尝试访问update时,没有任何规则允许访问# 1. Create host key sudo ssh-keygen -f my-local-host.key # 2. Create SSL certificate sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout my-local-host.key -out my-local-host.crt # 3. Create nopass Host Key sudo openssl rsa -in my-local-host.key -out my-local-host.nopass.key 的任何角色,您将收到403禁止错误。