>백엔드 개발 >PHP 튜토리얼 >Laravel 5.1에서 CORS를 활성화하는 방법은 무엇입니까?

Laravel 5.1에서 CORS를 활성화하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-07 17:41:11731검색

How to Enable CORS in Laravel 5.1?

Laravel 5.1에서 CORS를 활성화하는 방법

CORS(Cross-Origin Resource Sharing)를 Laravel에 통합하면 서버에서 교차 출처에 대한 권한을 부여할 수 있습니다. 오리진 API 호출. 이 문서에서는 Laravel 버전 5.1에서 CORS를 활성화하는 구체적인 방법을 안내합니다.

Laravel용 CORS 미들웨어

// app/Http/Middleware/CORS.php

namespace App\Http\Middleware;

use Closure;

class CORS
{

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

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

        // ALLOW OPTIONS METHOD
        $headers = [
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin'
        ];
        if($request->getMethod() == "OPTIONS") {
            // The client-side application can set only headers allowed in Access-Control-Allow-Headers
            return Response::make('OK', 200, $headers);
        }

        $response = $next($request);
        foreach($headers as $key => $value)
            $response->header($key, $value);
        return $response;
    }

}

CORS 미들웨어 등록

미들웨어 생성 후 app/Http/Kernel.php 파일:

// app/Http/Kernel.php

protected $routeMiddleware = [
        //other middlewares
        'cors' => 'App\Http\Middleware\CORS',
    ];

경로에 CORS 적용

마지막으로 교차를 허용하려는 경로에서 cors 미들웨어를 사용합니다. Origin API 호출:

Route::get('example', array('middleware' => 'cors', 'uses' => 'ExampleController@dummy'));

Laravel 참고 사항 ^8.0

Laravel 버전 8.0 이상에서는 네임스페이스 변경으로 인해 CORS 미들웨어를 등록하려면 다음 구문을 사용하는 것이 중요합니다.

// app/Http/Kernel.php

protected $routeMiddleware = [
        //other middlewares
        'cors' => 'App\Http\Middleware\CORS',
    ];

// routes/web.php or routes/api.php

use App\Http\Controllers\ExampleController;

Route::get('example', [ExampleController::class, 'dummy'])->middleware('cors');

위 내용은 Laravel 5.1에서 CORS를 활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.