袋鼠/laravel-acl

为Laravel 5自带的Auth系统构建的轻量级基于角色的权限。

v0.1.3 2015-03-17 04:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:08 UTC


README

Laravel Source Build Status License Total Downloads

Laravel ACL为Laravel 5自带的Auth系统添加了基于角色的权限。ACL中间件可以保护路由和CRUD控制器方法。

目录

要求

  • 此包需要PHP 5.4+

入门

  1. 在您的composer.json中要求此包,并通过composer update更新依赖项。
"require": {
...
"kodeine/laravel-acl": "~1.0@dev",
...
},
  1. 将包添加到您的应用程序服务提供者config/app.php中。
'providers' => [

'Illuminate\Foundation\Providers\ArtisanServiceProvider',
'Illuminate\Auth\AuthServiceProvider',
...
'Kodeine\Acl\AclServiceProvider',

],
  1. 将包迁移发布到您的应用程序,并使用`php artisan migrate`运行这些迁移。
$ php artisan vendor:publish --provider="Kodeine\Acl\AclServiceProvider"

使用您自己的模型。发布后,它会发布一个配置文件,您可以在其中定义自己的模型,这些模型应扩展到Acl模型。

  1. 将中间件添加到您的app/Http/Kernel.php
protected $routeMiddleware = [

....
'acl' => 'Kodeine\Acl\Middleware\HasPermission',

];
  1. 将HasRole特质添加到您的User模型。
use Kodeine\Acl\Traits\HasRole;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword, HasRole;
}

文档

请参考Wiki以获取更多信息。

路线图

以下是下一个版本(2.0)的待办事项列表。

  • 重构源代码。
  • 纠正所有问题。
  • 为最终用户权限添加缓存。
  • 添加测试。

变更日志

2015年6月14日(最新版本)

2015年3月28日

  • 添加了Role Scope以获取具有特定角色的所有用户。例如,User::role('admin')->get();将列出所有具有admin角色的用户。

2015年3月7日

  • is()can()方法现在支持逗号作为AND运算符,管道作为OR运算符。或者将运算符作为第二个参数传递。更多信息
  • 您可以将多个权限绑定在一起,以便它们继承权限。 更多信息

贡献指南

支持PSR-2 PHP编码标准和语义版本控制。

请在问题页面报告您发现的所有问题。欢迎提交拉取请求。