在 laravel 中创建一个简单的守卫

我正在尝试使用 Laravel 实现一个非常简单的身份验证机制。


我需要保护某些路由,以便可以从特定 IP 地址查看它们。


我想做这个:


if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {

    return Redirect::away('some url');

}

我怎样才能用警卫来实现这一点?


温温酱
浏览 164回答 1
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...}
打开App,查看更多内容
随时随地看视频慕课网APP