Laravel Auth中间件似乎在特定路线上注销后无法正常工作

时间:2019-10-22 18:51:02

标签: php laravel authentication middleware

我在Web应用程序中实现了一个部分,如果用户未通过身份验证,则该部分将无法下载资源(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。 但是,我发现,当用户输入自己的凭据以下载特定ID的rapport时,即使他注销了,也可以下载该特定关系。对于其他关系,他必须先登录。等等。会话中可能有一些内容(只是一个假设)。但是,特别是当身份验证中间件在其他中间件上工作正常时,为什么特别要在这条路线上呢?欢迎您的任何帮助

0 个答案:

没有答案