Maison >développement back-end >tutoriel php >Comment activer CORS dans Laravel 5.1 à l'aide d'un middleware ?

Comment activer CORS dans Laravel 5.1 à l'aide d'un middleware ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-07 08:55:13878parcourir

How to Enable CORS in Laravel 5.1 Using Middleware?

Activation de CORS dans Laravel 5.1

Pour activer le partage de ressources d'origine croisée (CORS) dans Laravel 5.1, vous pouvez utiliser un middleware. Voici un guide complet pour implémenter CORS à l'aide d'un middleware personnalisé :

  1. Créer un middleware CORS :

Créer un fichier CORS.php dans l'application Répertoire /Http/Middleware. Ajoutez le code suivant à ce fichier :

<?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. Enregistrez le Middleware :

Dans votre fichier app/Http/Kernel.php, ajoutez le code suivant au tableau $routeMiddleware :

'cors' => \App\Http\Middleware\CORS::class,
  1. Utilisez le Middleware :

Vous pouvez désormais utiliser le middleware cors dans vos itinéraires. Par exemple :

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

En ajoutant ces modifications, vous activerez CORS pour les itinéraires spécifiés et autoriserez les requêtes d'origine croisée à partir de n'importe quel domaine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn