Главная Ларавел Режим обслуживания и Whitelists в Laravel 5

Ларавел


Режим обслуживания и Whitelists в Laravel 5

Возможно, вы захотите получить доступ к своему веб-приложению, даже если он находится в режиме обслуживания. Это можно достичь, написав специальное промежуточное программное обеспечение, которое проверяет режим обслуживания.

По умолчанию Laravel поставляется с CheckForMaintenanceMode промежуточным программным обеспечением. handle() Метод, который сработал, выглядит следующим образом :

public function handle($request, Closure $next)
{
    if ($this->app->isDownForMaintenance()) {
        throw new HttpException(503);
    }

    return $next($request);
}

Вы хотите создать собственное промежуточное программное обеспечение и использовать его вместо этого.

php artisan make:middleware CheckForMaintenanceModeФайл запуска и файла / Http / Middleware / CheckForMaintenance.php

будет создан.

Откройте его и измените handle()метод в соответствии с вашими потребностями, также:

public function handle($request, Closure $next)
{
    if ($this->app->isDownForMaintenance() &&
        !in_array($request->ip(), ['123.123.123.123', '124.124.124.124']))
    {
        return response('Be right back!', 503);
    }

    return $next($request);
}

Это будет по существу разрешать запросы с этих IP-адресов, независимо от того, находится ли приложение в режиме обслуживания или нет.

Осталось только заменить промежуточное программное обеспечение CheckForMaintenanceMode Illuminate для нашего пользовательского. Откройте приложение / Http / Kernel.php и замените строку

Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class

с

App\Http\Middleware\CheckForMaintenanceMode::class

Надеюсь, это было полезно!


Комментарии

Написать комментарий