Функция «Гостевые ворота пользователя» является дополнением к последней версии 5.7, выпущенной в сентябре 2018 года. Эта функция используется для запуска процесса авторизации для определенных пользователей.
В Laravel 5.6 была процедура, при которой он возвращал false для неаутентифицированных пользователей. В Laravel 5.7 мы можем разрешить гостям проходить проверки авторизации, используя особую подсказку типа Nullable в указанном контроллере, как указано ниже —
<?php Gate::define('view-post', function (?User $user) { // Guests });
Объяснение Кодекса
Используя подсказку типа NULL, переменная $ user будет иметь значение NULL, когда гостевой пользователь будет передан в строб. Затем вы можете принять решение об авторизации действия. Если вы разрешите пустые типы и вернете true, то у гостя будет авторизация. Если вы не используете подсказку обнуляемого типа, гости автоматически получат ответ 403 для Laravel 5.7, который показан ниже —
Разница между ошибками 403 и 404 заключается в том, что 404 отображается, когда пользователь пытается получить доступ к неизвестному ресурсу или URL-адресу, и ошибка 403, как указано в снимке выше, отображается, если неавторизованный пользователь заходит на веб-сайт.