
- Laravel 教程
- Laravel - 主页
- Laravel - 概述
- Laravel - 安装
- Laravel - 应用结构
- Laravel - 配置
- Laravel - 路由
- Laravel - 中间件
- Laravel - 命名空间
- Laravel - 控制器
- Laravel - 请求
- Laravel - Cookie
- Laravel - 响应
- Laravel - 视图
- Laravel - Blade 模板
- Laravel - 重定向
- Laravel - 数据库操作
- Laravel - 错误和日志
- Laravel - 表单
- Laravel - 本地化
- Laravel - 会话
- Laravel - 验证
- Laravel - 文件上传
- Laravel - 发送邮件
- Laravel - Ajax
- Laravel - 错误处理
- Laravel - 事件处理
- Laravel - 门面
- Laravel - 合同
- Laravel - CSRF 保护
- Laravel - 身份验证
- Laravel - 授权
- Laravel - Artisan 控制台
- Laravel - 加密
- Laravel - 哈希
- 理解发布流程
- Laravel - 客戶端用戶權限閘道
- Laravel - Artisan 命令
- Laravel - 分页自定义
- Laravel - Dump 服务器
- Laravel - 操作 URL
- Laravel 有用资源
- Laravel - 快速指南
- Laravel - 有用资源
- Laravel - 讨论
Laravel - 客戶端用戶權限閘道
访客用户权限闸道功能是 2018 年 9 月发布的最新 5.7 版本的附加功能。此功能用于为特定用户启动授权过程。
在 Laravel 5.6 中,有一个过程用于为未认证的用户返回 **false**。在 Laravel 5.7 中,我们可以允许访客进行授权检查,方法是在指定的控制器中使用特定的 **nullable** 类型提示,如下所示:
<?php Gate::define('view-post', function (?User $user) { // Guests });
代码解释
通过使用 **nullable** 类型提示,当将访客用户传递到权限闸道时,$user 变量将为 null。然后,您可以根据需要进行授权决策。如果您允许空类型并返回 true,则访客将拥有授权。如果您不使用空类型提示,则访客将自动获得 Laravel 5.7 的 403 响应,如下所示:
403 和 404 错误的区别在于,当用户尝试访问未知资源或 URL 时会显示 404 错误,而如上快照所示的 403 错误则是在未授权用户访问网站时显示。
广告