如何在Laravel 5中创建http基本身份验证?

时间:2016-02-05 15:10:44

标签: php laravel authentication laravel-5 http-basic-authentication

如何在Laravel 5中创建http基本身份验证?

我在这里阅读了文档: https://laravel.com/docs/5.0/authentication#http-basic-authentication

我想创建一个固定密码,这意味着整个网站只有一个密码。

但我仍然不清楚如何创建它。

我知道我必须创建一个像这样的中间件:

public function handle($request, Closure $next)
{
    return Auth::onceBasic() ?: $next($request);
}

但后来我不确定还能做什么。 例如,我想保护这条路线:

Route::get('/', function () {
    return view('welcome');
});

此外,我在哪里将HTTP BASIC密码存储在服务器上?

由于

3 个答案:

答案 0 :(得分:1)

我使用这个包:

Intervention/httpauth

然后在我的控制器中我希望auth保护,我只需添加:

Httpauth::secure();

答案 1 :(得分:0)

为了保护一组路线,我将它们包裹在这样的组中;

Route::group([
     'middleware' => 'name_of_your_middleware',
], function () {

// Place your routes here as normal, eg

Route::get('/page', 'YourController@controllerMethod');

Route::get('/', function () { return view('welcome'); });

// Then close the middleware group

});

必须承认我并不完全确定整个网站的单个密码,我的快速而肮脏的方法是使用单个用户帐户而不打扰创建用于存储新用户帐户的任何注册视图或逻辑,但是那仍然存储了DB Side并且需要一个模型:(

是否值得跳过Laravel auth并使用.htaccess屏蔽您网站的各个部分?

答案 2 :(得分:0)

Laravel HTTP基本身份验证服务依赖于已在数据库中注册的用户帐户

此服务的名称​​确实暗示它将来自服务器上的http基本密码。

你可以通过在中间件中硬编码密码来作弊。