emiliosh / laravel-acl-chuimi
为 Laravel 5 内置 Auth 系统构建的轻量级基于角色的权限管理。
v0.1.3
2015-03-17 04:36 UTC
Requires
- php: >=5.4.0
- illuminate/database: 4.2.x|~5.0
- illuminate/support: 4.2.x|~5.0
README
Laravel ACL 将基于角色的权限添加到 Laravel 5 内置的 Auth 系统中。ACL 中间件可以保护路由和 CRUD 控制器方法。
目录
要求
- 此包需要 PHP 5.5+。
入门指南
- 在您的
composer.json中要求此包,并使用composer update更新依赖项。
"require": {
...
"kodeine/laravel-acl": "~1.0@dev",
...
},
- 将包添加到您的应用服务提供者中
config/app.php。
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Chuimi\Acl\AclServiceProvider', ],
- 将包迁移发布到您的应用中,并使用 `php artisan migrate` 运行这些迁移。
$ php artisan vendor:publish --provider="Chuimi\Acl\AclServiceProvider"
使用您自己的模型。发布后,它将发布配置文件,您可以在其中定义自己的模型,这些模型应扩展到 Acl 模型。
- 将中间件添加到您的
app/Http/Kernel.php。
protected $routeMiddleware = [ .... 'acl' => 'Chuimi\Acl\Middleware\HasPermission', ];
- 将 HasRole 特性添加到您的
User模型。
use Chuimi\Acl\Traits\HasRole; class User extends Model implements AuthenticatableContract, CanResetPasswordContract { use Authenticatable, CanResetPassword, HasRole; }
文档
请按照 Wiki 了解更多信息。
路线图
以下是下一个版本(2.0)的 TODO 列表。
- 重构源代码。
- 修复所有问题。
- 添加对最终用户权限的缓存。
变更日志
2016年9月22日
- 添加了单元测试
2016年9月20日
- 添加了对 Laravel 5.3 的支持
2016年9月19日
- 为角色和权限添加了缓存支持。
2015年6月14日
- 为 l5.0 添加了列表()方法的向后兼容性。
- 添加了 Blade 模板扩展。
2015年3月28日
- 添加了角色范围以获取具有特定角色的所有用户。例如,
User::role('admin')>get();将列出所有具有admin角色的用户。
2015年3月7日
-
is()和can()方法现在支持逗号作为AND操作符,管道作为OR操作符。或者,将操作符作为第二个参数传递。更多信息请参阅 这里 - 您可以将多个权限绑定在一起,以便它们继承权限。更多信息请参阅 这里
贡献指南
支持 PSR-2 PHP 编码标准和语义化版本。
请将您在问题页面发现的所有问题报告。欢迎提交拉取请求。