没有设置数据库的基本laravel路由密码保护?

Hel*_*Che 4 php basic-authentication laravel laravel-4

我正在寻找一个死的简单密码保护解决方案(用户名和密码存储为数组中的键值对)到域(example.com/demo).我知道这在制作中是不好的做法,但这只是对某人的快速演示.我目前的代码是非常简单的东西:

Route::group(['prefix' => 'demo', 'before' => 'auth.basic'], function() {...});
Run Code Online (Sandbox Code Playgroud)

我是否必须创建自己的过滤器?如何设置它以使过滤器仅适用于生产?

luk*_*ter 11

这很简单:

Route::filter('auth.verybasic', function()
{
    if(Request::getUser() != 'foo' || Request::getPassword() != 'bar'){
        $headers = array('WWW-Authenticate' => 'Basic');
        return Response::make('Invalid credentials.', 401, $headers);
    }
});
Run Code Online (Sandbox Code Playgroud)

关于环境限制,请查看App::environment():

Route::filter('auth.verybasic', function()
{
    if(App::environment() != 'production') return;
    // check login (same as above)
});
Run Code Online (Sandbox Code Playgroud)