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