政策

策略是幫助你圍繞模型資源組織授權邏輯的類。使用我們之前的示例,我們可能有一個 ContentPolicy 來管理使用者對 Content 模型的訪問。

為了製作 ContentPolicy,laravel 提供了一個工匠的命令。簡單地跑

php artisan make:policy ContentPolicy

這將建立一個空策略類並放在 app/Policies 資料夾中。如果該資料夾不存在,Laravel 將建立它並將該類放在其中。

建立後,需要註冊策略以幫助 Laravel 瞭解在模型上授權操作時要使用的策略。Laravel 的 AuthServiceProvider 配備了所有新鮮的 Laravel 裝置,它有一個政策屬性,可以將你雄辯的模型對映到他們的授權政策中。你需要做的就是將對映新增到陣列中。

protected $policies = [
    Content::class => ContentPolicy::class,
 ];