host === null) { throw new InvalidConfigException('base domain must be specified'); } } public function beforeAction($action) { if (!parent::beforeAction($action)) { return false; } $this->checkHost(); return true; } /** * @param \yii\base\Application $app the application currently running */ public function bootstrap($app) { $app->getUrlManager()->addRules([ "http://$this->host/$this->id/auth/" => "$this->id/authentication/", ], false); } public static function info($message) { Yii::info($message, 'legacy-authserver'); } public static function error($message) { Yii::info($message, 'legacy-authserver'); } /** * Поскольку это legacy метод и документации в новой среде для него не будет, * нет смысла выставлять на показ внутренние url, так что ограничиваем доступ * только для заходов по старому домену * * @throws NotFoundHttpException */ protected function checkHost() { if (parse_url(Yii::$app->request->getHostInfo(), PHP_URL_HOST) !== $this->host) { throw new NotFoundHttpException(); } } }