为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
温温酱 2022-07-16 17:48:42
我正在尝试使用 Laravel 实现一个非常简单的身份验证机制。我需要保护某些路由,以便可以从特定 IP 地址查看它们。我想做这个:if ($_SERVER['REMOTE_ADDR'] != '123.45.67.89') {    return Redirect::away('some url');}我怎样才能用警卫来实现这一点?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您可以通过使用中间件来实现这一点,因为它用于您正在尝试做的事情。


通过执行创建一个新的中间件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...

}


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号