Как я могу использовать промежуточное ПО, чтобы пользователь мог ввести пароль перед просмотром страницы / файла? - PullRequest
0 голосов
/ 24 июня 2019

Для веб-сайта, который я создаю, мне нужно защитить паролем PDF-файлы, для этого я хочу использовать промежуточное ПО, чтобы все, кто хочет перейти к маршруту файла, были перенаправлены на страницу, где им придется заполнить в пароле. Когда они введут правильный пароль, они будут перенаправлены в файл, если нет, они будут перенаправлены на предыдущую страницу.

Я искал в Интернете способ сделать это, даже пытался найти способ зашифровать сами файлы PDF, но не смог найти ничего, что было бы удаленно близко к тому, чего я пытаюсь достичь.

Я надеюсь, что кто-нибудь может помочь мне с этим вопросом, спасибо заранее!

РЕДАКТИРОВАТЬ: На рисунке ниже вы можете видеть, как это должно быть.

![Functional Design

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Перед созданием ссылки для pdf ... вам нужно сделать запрос на ввод имени пользователя или адреса электронной почты и пароля ... если эти условия соблюдены ... затем перенаправить страницу в pdf.

0 голосов
/ 24 июня 2019

Прежде всего вам понадобится контроллер для аутентификации учетных данных пользователей:

Ваш контроллер будет выглядеть примерно так:

$credentials = $request->only('email', 'password');

if (Auth::attempt($credentials)) {
    return view('PdfPage', ['authenticated' => true]);
} else {
    return view('PdfPage', ['authenticated' => false]);
}

И на странице просмотра вы можете проверить возвращаемое значение, которое выиспользуется следующим образом:

@if($authenticated)
    <div>Show this div only if the user is authenticated</div>
@else
    <div>User is not authenticated</div>
@endif 

Приведенный выше подход перенаправляет на то же представление, если вы хотите перенаправить на другое представление (например, предыдущую страницу или страницу ошибки), простое в вашем контроллере в вашем операторе else.страница просмотра, которую вы хотите перенаправить пользователю, когда он / она не аутентифицирован.

Что-то вроде:

$credentials = $request->only('email', 'password');

if (Auth::attempt($credentials)) {
    return view('PdfPage', ['authenticated' => true]);
} else {
    return view('ErrorPage', ['authenticated' => false]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...