如何将Laravel应用程序置于维护模式并仍然允许某个用户


How to put your Laravel application in maintenance mode and still allow a certain user?

app/start/global.php的某个地方,我有

App::down(function()
{
    return Response::make("Be right back!", 503);
});

如果我这样做了

php artisan down在我的cmd中,我的整个网站都将禁用。

恐怕我会禁用所有访问者including管理员。

我不想这样。我仍然想让自己在那里,因为我必须创建/上传一些内容到我的网站上。

有没有办法允许访问我自己和其他管理员用户,但不允许访问客户端?

谢谢

您可以将您的 IP 地址和其他管理员 IP 地址存储在白名单的 IP 地址数组中,如下所示:

App::down(function()
{
    $ip = Request::getClientIp();
    $allowed = array('192.168.1.7', '192.168.1.8', '127.0.0.1');
    if(!in_array($ip, $allowed))
    {
        return Response::view('maintenance', array(), 503);
    }
});

根据用户类型执行 if else 检查

if ( Auth::user()->type == "Admin"){
..... Allow

}else{
..... NOT Allow
}