У меня есть этот контроллер yii2, в котором я хочу установить заголовок Access-Control-Allow-Origin: *

class DoctorController extends ActiveController
{
    public $modelClass = 'api\modules\v1\models\Doctor';

    public function behaviors()
    {

        $behaviors = parent::behaviors();



        $behaviors['access'] = [
            'class' => \yii\filters\AccessControl::className(),
            'rules' => [
                [
                    // All actions
                    'allow' => true,
                    'actions' => ['index', 'view'],
                ],
            ],
        ];

        return $behaviors;
    }
}

Пожалуйста помоги!

0
Mansour Alnasser 19 Фев 2021 в 21:04

2 ответа

Лучший ответ

Я решил это, обновив функцию behavior ()

    public function behaviors()
    {

        $behaviors = parent::behaviors();

        $behaviors['corsFilter'] = [
            'class' => \yii\filters\Cors::className(),
            'cors' => [
                'Origin' => ['*'],
                'Access-Control-Request-Method' => ['GET'], // add more 
                'Access-Control-Request-Headers' => ['*'],
                'Access-Control-Allow-Credentials' => null,
                'Access-Control-Max-Age' => 86400,
            ],
        ];

        $behaviors['access'] = [
            'class' => \yii\filters\AccessControl::className(),
            'rules' => [
                [
                    // All actions
                    'allow' => true,
                    'actions' => ['index', 'view'], // add more
                ],
            ],
        ];

        return $behaviors;
    }
0
Mansour Alnasser 2 Мар 2021 в 06:22

Вы можете использовать этот простой код:

header('Access-Control-Allow-Origin: *');

Его можно добавить в один из ваших контроллеров action или в beforeAction() вашего контроллера или в другой вариант использования (по вашему усмотрению в соответствии с логикой / архитектурой вашего приложения).
https://www.yiiframework.com/ doc / api / 2.0 / yii-base-controller # beforeAction () - подробности

0
Alexey 27 Фев 2021 в 20:32