前言
自 Laravel 5.8 開始,Policy 原則有自動發現功能,不需要另外註冊。
做法
新增 Policy 原則。
1 |
php artisan make:policy RecordPolicy --model=Record |
在 app/Policies 資料夾的 RecordPolicy.php 檔撰寫授權邏輯,第一個參數 $user 是當前登入的使用者實例。
1 |
|
在控制器中使用 authorize() 方法,在驗證失敗後會自動導向 403 頁面。
1 |
public function show(User $user, Record $record) |
如果要手動帶入使用者實例,可以使用 authorizeForUser() 方法。
1 |
public function show(User $user, Record $record) |
在不帶有模型實例的方法中使用時,需要將其模型類別帶入。
1 |
public function store(User $user) |
其他
在使用 Password 時,要在路由定義 auth:api 中介層,如此當前登入的使用者實例才能被獲取。





近期评论