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

미들웨어를 사용하여 Laravel 5.1에서 CORS를 활성화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-07 08:55:13881검색

How to Enable CORS in Laravel 5.1 Using Middleware?

Laravel 5.1에서 CORS 활성화

Laravel 5.1에서 CORS(Cross-Origin Resource Sharing)를 활성화하려면 미들웨어를 활용할 수 있습니다. 다음은 사용자 정의 미들웨어를 사용하여 CORS를 구현하는 방법에 대한 종합 가이드입니다.

  1. CORS 미들웨어 생성:

앱에서 CORS.php 파일 생성 /Http/미들웨어 디렉토리. 이 파일에 다음 코드를 추가하세요:

<?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;
    }
}
  1. 미들웨어 등록:

app/Http/Kernel.php 파일에서, $routeMiddleware에 다음 코드를 추가하세요. array:

'cors' => \App\Http\Middleware\CORS::class,
  1. 미들웨어 사용:

이제 경로에서 cors 미들웨어를 사용할 수 있습니다. 예:

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

이러한 변경 사항을 추가하면 지정된 경로에 대해 CORS가 활성화되고 모든 도메인의 원본 간 요청이 허용됩니다.

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

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