Laravel auth middleware, кажется, не работает после выхода из системы на определенном маршруте - PullRequest
0 голосов
/ 22 октября 2019

Я реализовал в своем веб-приложении часть, в которой пользователь не может загрузить ресурс (rapport), если он / она не аутентифицирован. Маршрут в файле web.php выглядит следующим образом:

//DOWNLOAD RAPPORT
Route::get('telecharger/{id}', 'downloadRapport@download')->middleware('auth');

А в контроллере:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Rapport;
use Illuminate\Support\Facades\Storage;


class downloadRapport extends Controller
{

    public function __construct(){
        $this->middleware('auth');
    }

    public function download($id){
        $rapport = Rapport::findOrFail($id);
        return response()->download(storage_path('app/'.$rapport->path) , $rapport->fichierRapport);
    }
}

Я думал, что он работает идеально, пока что-то не выяснил в последнее время. Чтобы загрузить rapport, пользователь должен пройти аутентификацию, как предполагает логика. Это означает, что, когда он больше не вошел в систему, он должен повторно ввести свои учетные данные, чтобы загрузить rapport. НО, что я обнаружил, так это то, что когда пользователь однажды ввел свои учетные данные для загрузки rapport определенного идентификатора, даже если он вышел из системы, он может загрузить этот конкретный раппорт. Для других связей он должен сначала войти в систему. И так далее. Может ли это быть что-то с сессиями (просто предположение ..)? Но почему именно на этом маршруте, когда промежуточное ПО auth работает на других? Любая ваша помощь приветствуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...