Laravel - Portes des utilisateurs invités

La fonctionnalité Guest User Gates est un module complémentaire de la dernière version 5.7 publiée en septembre 2018. Cette fonctionnalité est utilisée pour lancer le processus d'autorisation pour des utilisateurs spécifiques.

Dans Laravel 5.6, il y avait une procédure où il retournait falsepour les utilisateurs non authentifiés. Dans Laravel 5.7, nous pouvons autoriser les invités à effectuer des vérifications d'autorisation en utilisant lenullable indice de type dans le contrôleur spécifié comme indiqué ci-dessous -

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

Explication du code

En utilisant un nullabletype hint la variable $ user sera nulle lorsqu'un utilisateur invité est passé à la porte. Vous pouvez ensuite prendre des décisions concernant l'autorisation de l'action. Si vous autorisez les types Nullable et retournez true, l'invité aura l'autorisation. Si vous n'utilisez pas d'indice de type Nullable, les invités obtiendront automatiquement la réponse 403 pour Laravel 5.7, qui est affichée ci-dessous -

La différence entre les erreurs 403 et 404 est que 404 s'affiche lorsque l'utilisateur tente d'accéder à la ressource ou à l'URL inconnue et que l'erreur 403, comme mentionné dans l'instantané ci-dessus, s'affiche si un utilisateur non autorisé accède au site Web.