政策

策略是帮助你围绕模型资源组织授权逻辑的类。使用我们之前的示例,我们可能有一个 ContentPolicy 来管理用户对 Content 模型的访问。

为了制作 ContentPolicy,laravel 提供了一个工匠的命令。简单地跑

php artisan make:policy ContentPolicy

这将创建一个空策略类并放在 app/Policies 文件夹中。如果该文件夹不存在,Laravel 将创建它并将该类放在其中。

创建后,需要注册策略以帮助 Laravel 了解在模型上授权操作时要使用的策略。Laravel 的 AuthServiceProvider 配备了所有新鲜的 Laravel 装置,它有一个政策属性,可以将你雄辩的模型映射到他们的授权政策中。你需要做的就是将映射添加到数组中。

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