douduan2272 2014-12-02 08:52
浏览 16
已采纳

使用Yii ip访问规则时重定向循环

Using Yii 1.1.15. I want to restrict the login and logout actions by ip rule. I have this inside the controller:

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' => ['*'],
        ],
    ];
}

But when I call the login action in the browser, the browser enters a redirect loop. If I comment out the ips rule, it works.

What is wrong with the above code?

  • 写回答

1条回答 默认 最新

  • duansha8764 2014-12-07 17:04
    关注

    This has finally proved to be a bug that exists in both 2.0 and 1.1 branches. It's already been fixed in 2.0 branch (scheduled for the 2.0.1 milestone) and I've created a pull request for the 1.1 branch.

    The issue for the 2.0 branch is at https://github.com/yiisoft/yii2/issues/4889

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?