Создайте простую стражу в laravel
Я пытаюсь реализовать очень простой механизм аутентификации с помощью Laravel.
Мне нужно защитить определенные маршруты, чтобы их можно было просматривать с определенного IP-адреса.
Я хочу сделать это:
if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {
return Redirect::away('some url');
}
Как я могу это реализовать с помощью охранника?
1 ответ
Вы можете добиться этого, используя промежуточное программное обеспечение, поскольку оно используется для того, что вы пытаетесь сделать.
Создайте новое промежуточное ПО, выполнив 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);
}
А затем перейдите к app\Http\Kernel.php
, обязательно добавьте это в свой protected $routeMiddleware
массив.
protected $routeMiddleware = [
//.. your previous files ...
'myguard' => SimpleGuardMiddleware.php::class,
];
А затем в своем файле маршрута вы можете сделать что-то вроде
Route::group(['middleware' => 'auth'], function() {
// your routes here...
}