政策
策略是帮助你围绕模型资源组织授权逻辑的类。使用我们之前的示例,我们可能有一个 ContentPolicy
来管理用户对 Content
模型的访问。
为了制作 ContentPolicy
,laravel 提供了一个工匠的命令。简单地跑
php artisan make:policy ContentPolicy
这将创建一个空策略类并放在 app/Policies
文件夹中。如果该文件夹不存在,Laravel 将创建它并将该类放在其中。
创建后,需要注册策略以帮助 Laravel 了解在模型上授权操作时要使用的策略。Laravel 的 AuthServiceProvider
配备了所有新鲜的 Laravel 装置,它有一个政策属性,可以将你雄辩的模型映射到他们的授权政策中。你需要做的就是将映射添加到数组中。
protected $policies = [
Content::class => ContentPolicy::class,
];