Yii2 AccessControl для действий, к которым должен обращаться определенный веб-сайт

У меня есть серверный проект на моем сервере ssl, как ssl.mybackend.comсо следующим:

class FormController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [                    
                    [
                        'actions' => ['index', 'delete', 'view', 'create'],
                        'allow' => true,
                        'roles' => ['@'], //only authorized users
                    ],
                    [
                        'actions'=> ['create-order'],
                        'allow'=>true   //change all users to "myfrontend.com"                   
                    ]
                ],
            ],

        ];
    }

Мне нужно предоставить доступ к create-order действие только на мой веб-сайт. Я не уверен, возможно ли это сделать AccessControl и признателен, если бы вы могли посоветовать другие решения.

1 ответ

Если вы хотите использовать ajax-вызовы из внешнего интерфейса в другом домене, вы должны использовать corsFilter вместо. Пример из документации:

public function behaviors()
{
    return [
        'corsFilter' => [
            'class' => \yii\filters\Cors::className(),
            'cors' => [
                // restrict access to
                'Origin' => ['http://www.myserver.com', 'https://www.myserver.com'],
                'Access-Control-Request-Method' => ['POST', 'PUT'],
                // Allow only POST and PUT methods
                'Access-Control-Request-Headers' => ['X-Wsse'],
                // Allow only headers 'X-Wsse'
                'Access-Control-Allow-Credentials' => true,
                // Allow OPTIONS caching
                'Access-Control-Max-Age' => 3600,
                // Allow the X-Pagination-Current-Page header to be exposed to the browser.
                'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'],
            ],

        ],
    ];
}

Совместное использование ресурсов в Yii2

Другие вопросы по тегам