Как запретить гостю доступ к проверенной странице - PullRequest
0 голосов
/ 13 апреля 2020

В моем блэйд-окне есть кнопка, которая доступна только для аутентифицированных пользователей. При нажатии кнопки подтвержденные пользователи перенаправляются на новую страницу с именем qrcode . Теперь я хочу ограничить доступ гостей к этой странице напрямую.

Я определил промежуточное ПО, но оно не работает для этой страницы, не знаю почему. Пожалуйста, поделитесь своими идеями / предложениями. Спасибо

Моя страница qrcode.blade. php находится в папке Views / Auth .

Просмотры / продукты / Blade . php

@auth
  <button type="button" class="buy-button" onclick="window.location='{{route('firstProductQR',['firstQR' => 'qrcode']) }}'" >
      Generate Dynamic QR  </button>
@endauth

Маршрут. php

Route::group([ 'middleware' => ['web']], function(){

  Route::get('/',[

    'uses' => 'niceActionController@getActionController'
  ]);

Route::get('/{firstQR}' , [
  'middleware' => 'auth',
  'uses' => 'niceActionController@getFirstProductQrPage',
  'as'=> 'firstProductQR'
]);


});/*End Web Middleware*/

niceActionController. php

class niceActionController extends Controller
{

public function getFirstProductQrPage($firstQR)
{
  return view($firstQR);
}

}

1 Ответ

0 голосов
/ 13 апреля 2020
/* ROUTES */

Route::get('/QR/{firstQR}' , [
  'uses' => 'niceActionController@getFirstProductQrPage',
  'as'=> 'firstProductQR'
]);

*/


use Illuminate\Support\Facades\Auth; // important..
    class niceActionController extends Controller
    {

    public function __construct()
    {
        $this->middleware('auth:web'); // use this only to make this whole controller accessible to only logged users.
    }

    public function getFirstProductQrPage($firstQR)
    {
      // or use this only for this function.
      // Auth::user()->id will check if the user is logged in & have an user ID, if not found it will goes to else...
      if(Auth::user()->id)
      {
        return view($firstQR);
      } else {
       return redirect('/home');
      }

    }

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