如何在不使用 Yii2 中的 AccessControl 的情况下阻止操作或控制器?

How to block an action or controller without using AccessControl in Yii2?

我正在使用 yii2-basic。我创建了一个带有 init() 方法的控制器。此 init() 方法将检查一些 cookie,如果条件不满足,则拒绝访问所有操作。但是我不知道该怎么做,谁能帮帮我? 抱歉英语不好。

您可以尝试使用 yii\web\CookieCollection - 参考 http://www.yiiframework.com/doc-2.0/yii-web-cookiecollection.html

示例: 保存 cookie:

$cookies = Yii::$app->response->cookies;
$cookies->add(new \yii\web\Cookie([
    'name' => 'nameOfCookie',
    'value' => 'oreo',
]));

检索:

  $cookie = $cookies->getValue('nameOfCookie', 'biscuit');
  if($cookie == 'oreo')  throw new \yii\web\ForbiddenHttpException('Insufficient privileges to access this area.');

享受 Yii2!