
- 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 錯誤則是在未授權使用者訪問網站時顯示。
廣告