Laravel 9 保姆级视频教程,想学不会都难!进入学习
经过多年开发,56 次发布,130 万下载,并且超过 2800 的主动关注 Bouncer 终于来到了 1.0 版本。 在相当长的一段时间里,它一直非常可靠和稳定,并被世界各地无数的 app 用于生产。
这是我个人的更新,包含了我多年来的一些思考 —— 从最初到最终发行。关于如何每天使用 Bouncer 的技术信息,请查看 the extensive documentation 或者在 The Laravel Podcast 听我和马特・斯托弗讨论。
什么是 Bouncer?#
在开始我的个人旅程之前,这里先简要介绍一下 Bouncer 是什么,以及它如何融入更大的 Laravel 生态系统。
Bouncer 是一个开源包,用于动态管理数据库中的角色和权限,与 Laravel 的 Gate 完全集成。
在不深入细节的情况下,以下是其一些主要功能的简短列表:
-
Simple abilities:
Bouncer::allow($user)->to('access-dashboard');
登录后复制 -
Model abilities:
Bouncer::allow($user)->to('view', Invoice::class); Bouncer::allow($user)->to('delete', $invoice);
登录后复制 -
Flexible roles:
Bouncer::allow('admin')->everything(); Bouncer::assign('admin')->to($user);
登录后复制 -
Forbidding abilities:
Bouncer::allow($user)->to('view', Invoice::class); Bouncer::forbid($user)->to('view', $confidentialInvoice);
登录后复制 -
Powerful ownership:
Bouncer::allow($user)->toOwn(Post::class);
登录后复制 -
Straighforward multi-tenancy:
Bouncer::scope()->to($tenantId);
登录后复制 -
Built-in caching
Bouncer::cache();
登录后复制
… 还有