Как создать http базовую аутентификацию в Laravel 5?
Я прочитал документацию здесь:
https://laravel.com/docs/5.0/authentication#http-basic-authentication
Я хочу создать фиксированный пароль, то есть только один пароль для всего сайта.
Но мне все еще не ясно, как его создать.
Я понимаю, что я должен создать Middleware, как это:
public function handle($request, Closure $next)
{
return Auth::onceBasic() ?: $next($request);
}
Но тогда я не уверен, что еще делать.
Например, я хочу защитить этот маршрут:
Route::get('/', function () {
return view('welcome');
});
А также, где я могу хранить пароль HTTP BASIC на сервере?
Спасибо
Я использую этот пакет:
Затем в моем контроллере я хочу защитить аутентификацию, я просто добавляю:
Httpauth::secure();
Чтобы защитить набор маршрутов, я обертываю их в такую группу;
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
});
Должен признать, что я не совсем уверен в едином пароле для всего сайта, мой быстрый и грязный метод состоял бы в том, чтобы использовать одну учетную запись пользователя и не беспокоиться о создании каких-либо регистрационных представлений или логики для хранения новых учетных записей пользователей, но это все еще сохраненная БД Сторона и требует модель 🙁
Может быть, стоит пропустить авторизацию Laravel и использовать .htaccess для ограждения разделов вашего сайта?
Базовая служба аутентификации Laravel HTTP использует учетную запись пользователя уже зарегистрирован в базе данных.
Наименование этой услуги действительно предполагает это будет исходить из основного пароля http на сервере.
Вы могли бы обмануть путем жесткого кодирования пароля в промежуточном программном обеспечении.