Heim > Backend-Entwicklung > PHP-Tutorial > Wie aktiviere ich CORS in Laravel 5.1?

Wie aktiviere ich CORS in Laravel 5.1?

DDD
Freigeben: 2024-12-07 17:41:11
Original
746 Leute haben es durchsucht

How to Enable CORS in Laravel 5.1?

So aktivieren Sie CORS in Laravel 5.1

Die Integration von CORS (Cross-Origin Resource Sharing) in Laravel ermöglicht es Servern, Berechtigungen für Cross-Origin Resource Sharing zu erteilen Ursprungs-API-Aufrufe. Dieser Artikel führt Sie durch spezifische Möglichkeiten, CORS in Laravel Version 5.1 zu aktivieren.

CORS Middleware für Laravel

// 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;
    }

}
Nach dem Login kopieren

Registrieren Sie die CORS Middleware

Nachdem Sie die Middleware erstellt haben, registrieren Sie sie in der app/Http/Kernel.php Datei:

// app/Http/Kernel.php

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

CORS in Routen anwenden

Verwenden Sie abschließend die CORS-Middleware in den Routen, in denen Sie ursprungsübergreifende API-Aufrufe zulassen möchten:

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

Hinweis für Laravel ^8.0

In Bei Laravel-Versionen 8.0 und höher ist es aufgrund von Namespace-Änderungen wichtig, die folgende Syntax zum Registrieren der CORS-Middleware zu verwenden:

// 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');
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie aktiviere ich CORS in Laravel 5.1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage