Создайте простой охранник в laravel - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь реализовать очень простой механизм аутентификации с помощью Laravel.

. Мне нужно защитить определенные маршруты, чтобы их можно было просматривать с указанного c IP-адреса.

Я хочу сделать это:

if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {
    return Redirect::away('some url');
}

Как я могу реализовать это с защитой?

1 Ответ

1 голос
/ 08 января 2020

Этого можно добиться, используя связующее ПО , поскольку оно используется для того, что вы пытаетесь сделать.

Создайте новое промежуточное ПО, выполнив php artisan make:middleware SimpleGuardMiddleware. Он будет создан в app\Http\Middleware\SimpleGuardMiddleware.php.

Затем в файле вы можете написать что-то вроде этого:

public function handle($request, Closure $next)
{
    if ($request->ip() != '123.45.67.89') {
        return Redirect::away('some url');
    }
    return $next($request);
}

А затем, go до app\Http\Kernel.php, убедитесь, что добавьте это в ваш массив protected $routeMiddleware.

protected $routeMiddleware = [
    //.. your previous files ...
    'myguard' => SimpleGuardMiddleware.php::class,
];

А затем в вашем файле маршрута вы можете сделать что-то вроде

Route::group(['middleware' => 'auth'], function() {
    // your routes here...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...