Я использовал резервную копию laravel spatie в своей системе, и все мои функции, такие как создание новой резервной копии, удаление и загрузка, работают локально. Я попытался развернуть свой сайт на бесплатном хостинге, кажется, все работает, кроме функции удаления и загрузки. После расследования я обнаружил, что он не работает из-за промежуточного программного обеспечения, которое я создал для маршрута загрузки / удаления. Вот мое StaffMiddleware, где только учетные записи с ролью персонала могут получить к нему доступ.
Middleware
public function handle($request, Closure $next)
{
if(Auth::check())
{
if(Auth::user()->role == 'staff')
{
return $next($request);
}
else
{
return redirect('/');
}
}
else
{
return redirect('/');
}
}
Маршруты
Route::get('backup/create', 'Admin\BackupController@create');
Route::get('backup/download/{file_name}', 'Admin\BackupController@download');
Route::get('backup/delete/{file_name}', 'Admin\BackupController@delete');
Когда я пытаюсь получить доступ к функции загрузки, она перенаправляет на домашнюю страницу, так как в моем промежуточном программном обеспечении сбой строки Auth :: check (). Обратите внимание, что я вошел в систему и прошел проверку подлинности при доступе к функции загрузки. Это происходит только на реальном сервере, но весь код работает локально. Можете ли вы помочь мне в этом? Спасибо!