denismitr/laracors

针对 Laravel 或 Lumen 的跨域资源共享中间件

v0.6 2017-06-10 17:18 UTC

This package is auto-updated.

Last update: 2024-09-23 08:24:36 UTC


README

Laravel 跨域资源共享中间件

此中间件专门为 Laravel 和 Lumen 框架及其构建的 RESTful API 设计。它允许来自其他应用程序的 JS 前端发起请求。

作者

Denis Mitrofanov

TheCollection.ru

安装

使用 composer 安装此包

composer require denismitr/laracors

Laravel

添加到 config/app.php

'providers' => [
    ...
    \Denismitr\Laracors\LaravelCorsServiceProvider::class,
],

将中间件包含在您的 app/Http/Kernel.php 文件中适当的部分(如果所有路由都是 API 或包含中间件名称 + API 中间件组以使其适用于每个 API 路由,或者仅包含中间件名称)

全局中间件

protected $middleware = [
    ...
    \Denismitr\Laracors\Cors::class
];

发布配置文件

php artisan vendor:publish  --provider="Denismitr\Laracors\LaravelCorsServiceProvider"

编辑 config/laracors.php 文件以适应您的需求。

Named middleware
---------------
```php

protected $routeMiddleware = [
    ...
    'cors' => \Denismitr\Laracors\LaravelCorsServiceProvider::class,
];

protected $middlewareGroups = [
    'web' => [
        ...
    ],

    'api' => [
        ...
        'cors'
    ],
];

中间件参数

Route::put('post/{id}', function ($id) {
    //
})->middleware('cors:get,post,put');

Lumen

将以下行添加到 bootstrap/app.php

$app->register('\Denismitr\Laracors\LumenCorsServiceProvider');
$app->middleware([
    .....
    '\Denismitr\Laracors\Cors',
]);