我的控制器中有这样的访问控制:
public function behaviors()
{
return [
'access'=>[
'class' => AccessControl::className(),
'only'=>['view','index'],
'rules'=>[
[
'allow'=>true,
'actions'=>['view','index'],
'roles'=>['@'],
]
],
],
];
}
如果我使用该代码,则可以更新数据记录。但我现在需要的是如何禁用更新按钮?当我们点击更新时,它将被禁止。怎么做到的?提前致谢
答案 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禁止错误。