使用 Yii 1.1.15.我想通过 ip 规则限制登录和注销操作。我在控制器中有一个:
public function accessRules()
{
return [
[
'allow',
'actions' => ['index', 'error'],
'users' => ['*'],
],
[
'allow',
'actions' => ['login'],
'users' => ['*'],
'ips' => ['xx.yy.zz.qq'],
],
[
'allow',
'actions' => ['logout'],
'users' => ['@'],
'ips' => ['xx.yy.zz.qq'],
],
[
'deny', // deny all users
'users' => ['*'],
],
];
}
但是当我在浏览器中调用登录操作时,浏览器会进入重定向循环。如果我注释掉ips
规则,它就会起作用。
上面的代码有什么问题?
这最终被证明是 2.0 和 1.1 分支中都存在的错误。它已经在 2.0 分支中修复(计划在 2.0.1 里程碑),我已经为 1.1 分支创建了一个拉取请求。
2.0 分支的问题 https://github.com/yiisoft/yii2/issues/4889