Php 拒绝访问控制器后如何在Yii2中设置flash消息
在拒绝访问控制器后,如何在Yii2中设置flash消息? 以下是拒绝访问的方法:Php 拒绝访问控制器后如何在Yii2中设置flash消息,php,redirect,yii2,flash-message,Php,Redirect,Yii2,Flash Message,在拒绝访问控制器后,如何在Yii2中设置flash消息? 以下是拒绝访问的方法: 在此之后,它将重定向到站点/登录。我如何在那里生成类似“此部分仅适用于注册用户”的flash消息?能否尝试添加拒绝回调?我希望这能奏效: public function behaviors() { return [ 'access' => [ 'class' => \yii\filters\AccessControl::className(),
在此之后,它将重定向到站点/登录。我如何在那里生成类似“此部分仅适用于注册用户”的flash消息?能否尝试添加拒绝回调?我希望这能奏效:
public function behaviors()
{
return [
'access' => [
'class' => \yii\filters\AccessControl::className(),
'only' => ['create', 'update'],
'rules' => [
// deny all POST requests
[
'allow' => false,
'verbs' => ['POST']
],
// allow authenticated users
[
'allow' => true,
'roles' => ['@'],
],
// everything else is denied
],
'denyCallback' => function ($rule, $action) {
Yii::$app->session->setFlash('error', 'This section is only for registered users.');
Yii::$app->user->loginRequired();
},
],
];
}
您还可以将denyCallback添加到每个规则:
[
'allow' => false,
'roles' => ['@'],
'denyCallback' => function($rule, $action) {
// callback logic
}
]
[
'allow' => false,
'roles' => ['@'],
'denyCallback' => function($rule, $action) {
// callback logic
}
]