Laravel 访客用户门
访客用户门功能是在2018年9月发布的最新5.7版本中的一个附加功能。该功能用于为特定用户启动授权过程。
在Laravel 5.6中,它会返回 false 给未经身份验证的用户。在Laravel 5.7中,我们可以通过在指定的控制器中使用特定的 nullable 类型提示,允许访客进行授权检查,如下所示 –
<?php
Gate::define('view-post', function (?User $user) {
// Guests
});
代码解释
通过使用 nullable 类型提示,当将游客用户传递给gat时,$user变量将为null。然后,您可以对授权操作进行决策。如果您允许可空类型并返回true,则游客将获得授权。如果不使用可空类型提示,则Laravel 5.7的游客将自动获得403响应
403错误和404错误的区别在于,当用户尝试访问未知资源或URL时,会显示404错误,而在上面的快照中提到的403错误则是在未经授权的用户访问网站时显示的。