Laravel Проблема с Политикой не запускается должным образом? - PullRequest
0 голосов
/ 16 марта 2020

Итак, у меня есть привязка модели маршрута:

Route::model('questionnaireAttachment', \App\Models\QuestionnaireAttachment::class);

У меня также есть политика, зарегистрированная в AuthServiceProvider. php:

QuestionnaireAttachment::class => QuestionnaireAttachmentPolicy::class,

, и мой маршрут похож на this:

Route::get('questionnaire/attachments/{questionnaireAttachment}', [
    AttachmentController::class,
    'getAttachments'
])
->name('questionnaireAttachmentRetrieve')
->middleware('can:view,questionnaireAttachment');

политика вернула false; в этом, так что я знаю, что это терпит неудачу, однако, когда я делаю запрос к конечной точке, несмотря на возврат false; я все еще добираюсь до контроллера и получаю действительный ответ 200

 public function getAttachments(QuestionnaireAttachment $attachment): \Symfony\Component\HttpFoundation\StreamedResponse
        {
            $file = Storage::disk('local')->exists("{$attachment->path}/{$attachment->filename}");
            if (!$file) {
                return Storage::disk('s3')->download("{$attachment->path}/{$attachment->filename}", $attachment->filename);
            }
            return Storage::disk('local')->download("{$attachment->path}/{$attachment->filename}", $attachment->filename);
        }
...