Laravel - bramy użytkownika gościa

Funkcja Guest User Gates jest dodatkiem do najnowszej wersji 5.7 wydanej we wrześniu 2018 r. Ta funkcja służy do inicjowania procesu autoryzacji dla określonych użytkowników.

W Laravel 5.6 istniała procedura, w której kiedyś powracał falsedla nieuwierzytelnionych użytkowników. W Laravel 5.7 możemy pozwolić gościom przejść kontrolę autoryzacji za pomocą określonegonullable podpowiedź typu w określonym kontrolerze, jak podano poniżej -

<?php
Gate::define('view-post', function (?User $user) {
   // Guests
});

Wyjaśnienie Kodeksu

Korzystając z nullablewskazówka dotycząca typu zmienna $ user będzie miała wartość null, gdy użytkownik-gość zostanie przekazany do bramy. Możesz wtedy podjąć decyzje dotyczące autoryzacji akcji. Jeśli zezwolisz na typy dopuszczające wartość null i zwrócisz wartość true, gość będzie miał autoryzację. Jeśli nie użyjesz podpowiedzi typu dopuszczającego wartość null, goście automatycznie otrzymają odpowiedź 403 dla Laravel 5.7, która jest wyświetlana poniżej -

Różnica między błędem 403 a 404 polega na tym, że błąd 404 jest wyświetlany, gdy użytkownik próbuje uzyskać dostęp do nieznanego zasobu lub adresu URL, a błąd 403, jak wspomniano w powyższej migawce, jest wyświetlany, gdy nieautoryzowany użytkownik uzyskuje dostęp do witryny internetowej.