Heim > Backend-Entwicklung > PHP-Tutorial > Wie implementiert man benutzerdefinierte CORS-Middleware in Laravel 5.1?

Wie implementiert man benutzerdefinierte CORS-Middleware in Laravel 5.1?

Patricia Arquette
Freigeben: 2024-12-22 16:21:09
Original
212 Leute haben es durchsucht

How to Implement Custom CORS Middleware in Laravel 5.1?

Aktivieren von CORS in Laravel 5.1

Bei der Entwicklung von APIs mit Laravel 5.1 ist die Aktivierung von Cross-Origin Resource Sharing (CORS) von entscheidender Bedeutung, um Anfragen zuzulassen unterschiedlicher Herkunft. Obwohl es verschiedene CORS-Bibliotheken gibt, konzentriert sich dieser Artikel auf eine benutzerdefinierte Middleware-Implementierung, die speziell auf Laravel 5.1 zugeschnitten ist.

Middleware für CORS

Um CORS zu aktivieren, erstellen Sie eine Middleware-Klasse in app/Http/Middleware/CORS.php:

use Closure;

class CORS {
    public function handle($request, Closure $next)
    {
        header("Access-Control-Allow-Origin: *");
        $headers = [
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin'
        ];
        if ($request->getMethod() == "OPTIONS") {
            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 der Middleware

Registrieren Sie Ihre Middleware in der App/Http/Kernel.php:

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

Verwenden der Middleware

Um CORS zu verwenden Middleware in einer Route hinzufügen, fügen Sie 'middleware' => 'cors' zur Routendefinition:

Route::get('example', ['middleware' => 'cors', function () {
    return 'example';
}]);
Nach dem Login kopieren

Laravel ^8.0 Update

In Laravel-Versionen 8.0 und höher müssen Sie den Controller-Namespace importieren und verwenden Klassennamen wie folgt:

use App\Http\Controllers\ExampleController;

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

Indem Sie diese Schritte befolgen, können Sie CORS mühelos in Ihrem Laravel aktivieren 5.1 API, die Anfragen von verschiedenen Domänen ermöglicht und eine sichere und flexible API-Umgebung bietet.

Das obige ist der detaillierte Inhalt vonWie implementiert man benutzerdefinierte CORS-Middleware 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage