Php Yii2与前面的请求一样,导致无限递归
我正试图遵循这个建议,因此我的config\web.phpPhp Yii2与前面的请求一样,导致无限递归,php,yii2,yii2-user,Php,Yii2,Yii2 User,我正试图遵循这个建议,因此我的config\web.php$config定义包括 'components' => [...], 'as beforeRequest' => [ 'class' => 'yii\filters\AccessControl', 'rules' => [ [ 'allow' => true, 'actions' => ['login'],
$config
定义包括
'components' => [...],
'as beforeRequest' => [
'class' => 'yii\filters\AccessControl',
'rules' => [
[
'allow' => true,
'actions' => ['login'],
],
[
'allow' => true,
'roles' => ['@'],
],
],
'denyCallback' => function() {
return Yii::$app->response->redirect('[site/login]');
},
],
但是当我运行它时,Firefox说“页面没有正确重定向”
在Yii服务器命令窗口中,我可以看到发生了什么。前几行是这样的:
[2019年11月16日星期六09:17:53]::1:51836[302]:/
[2019年11月16日星期六09:17:53]::1:51837[302]:/[站点/登录]
[2019年11月16日星期六09:17:53]::1:51840[302]:/[site/[site/login]
[2019年11月16日星期六09:17:53]::1:51841[302]:/[site/[site/[site/[site/login]
[2019年11月16日星期六09:17:53]::1:51842[302]:/[site/[site/[site/[site/[site/[site/login]
这种情况持续20次,直到浏览器明显停止
我认为必须发生的是,拒绝回调调用站点控制器,这导致再次执行beforeRequest,再次调用拒绝回调,等等,“无限”.但我不知道我做错了什么,也不知道如何阻止它。我从站点控制器中删除了所有访问行为行;也许我需要在其中放一些东西来阻止它?它在该行中
'denyCallback' => function() {
return Yii::$app->response->redirect('[site/login]');
},
redirect(“[site/login]”)中的引号错误;
,应该是redirect(['site/login]”;
Yii::$app->response->redirect(“[site/login]”);引号”
不正确,它们应该像Yii::$app->response->redirect(['site/login'))
Oops!是的,谢谢。现在我遇到了一些其他错误,但也许我可以自己解决这些错误。是的,就是这样。我提到的其他错误是我后来输入的,但当我把它取出来时,它成功了。谢谢。