287640817 / laravel-permission
为Laravel 5.4及更高版本提供权限处理
Requires
- php: >=7.0
- illuminate/auth: ~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- illuminate/container: ~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- illuminate/contracts: ~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- illuminate/database: ~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
Requires (Dev)
- orchestra/testbench: ~3.4.2|~3.5.0|~3.6.0|~3.7.0
- phpunit/phpunit: ^5.7|6.2|^7.0
- predis/predis: ^1.1
This package is auto-updated.
Last update: 2024-09-15 18:43:24 UTC
README
赞助商
此包允许您在数据库中管理用户权限和角色。
安装后,您可以进行如下操作
// Adding permissions to a user $user->givePermissionTo('edit articles'); // Adding permissions via a role $user->assignRole('writer'); $role->givePermissionTo('edit articles');
如果您使用多个守卫,我们也为您提供了支持。每个守卫都将有自己的权限和角色集合,可以分配给守卫的用户。请参阅README中的使用多个守卫部分。
因为所有权限都将注册在Laravel的gate上,您可以使用Laravel默认的can
函数检查用户是否拥有权限
$user->can('edit articles');
文档
您可以在专门的文档站点找到安装说明和使用此包的详细说明。
需要UI吗?
该包不包含任何内置界面,您应该自己构建。以下是一些开始的选择
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件freek@spatie.be而不是使用问题跟踪器。
明信片软件
您可以使用此包,但如果它进入您的生产环境,我们非常感谢您从您的家乡寄给我们一张明信片,并说明您正在使用我们的哪些包。
我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。
我们在我们的公司网站上发布所有收到的明信片。
鸣谢
此包在很大程度上基于Jeffrey Way关于权限和角色的精彩课程。他的原始代码可以在GitHub上的此存储库中找到。
特别感谢Alex Vanderbist对v2的巨大帮助,以及Chris Brown长期的支持,帮助我们维护此包。
替代方案
- 在Laravel News的文章中,Povilas Korop对替代方案进行了出色的列举。[链接](https://twitter.com/@povilaskorop)。在该文章中,他还比较了laravel-permission和[Joseph Silber的Bouncer](https://github.com/JosephSilber),在我们的评价中这也是一个非常优秀的包。
- ultraware/roles对功能采取了一种略有不同的方法。[链接](https://github.com/ultraware/roles)。
支持我们
Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述。[链接](https://spatie.be/opensource)。
您的业务依赖于我们的贡献吗?请在[Patreon](https://www.patreon.com/spatie)上联系我们并支持我们。所有承诺都将用于分配人力资源以维护和新奇事物。
许可证
MIT许可证(MIT)。有关更多信息,请参阅[许可证文件](https://github.com/287640817/laravel-permission/blob/HEAD/LICENSE.md)。