hamedmehryar / laracancan
Laravel 的基于资源的权限系统
1.0.0
2016-10-08 09:44 UTC
Requires
- php: >=5.4.0
- laravel/framework: ~5.0
Requires (Dev)
- illuminate/database: ~5.0
This package is not auto-updated.
Last update: 2024-09-19 15:07:17 UTC
README
LaraCanCan
Laravel 的基于资源的权限系统
特性
- 资源权限
- 权限继承
- 角色
- 自定义权限
安装(Laravel 5.x)
在 composer.json 中
"require": {
"hamedmehryar/laracancan" "1.0.0"
}
运行
composer update
将服务提供者添加到 config/app.php
下的 providers
'providers' => [
Hamedmehryar\Laracancan\LaracancanServiceProvider::class,
]
创建迁移文件
php artisan laracancan:migration
迁移数据库
php artisan migrate
播种权限
php artisan laracancan:seed
将特性添加到您的用户模型
use Hamedmehryar\Laracancan\Traits\LaracancanUserTriat;
class User extends Model {
use LaracancanUserTrait;
}
##用法
权限检查
Laracancan::canCreate('<resource-name>');
Laracancan::canRead('<resource-name>');
Laracancan::canUpdate('<resource-name>');
Laracancan::canDelete('<resource-name>');
Laracancan::can('<permission-name>', '<resource-name>');
$user->canCreate('<resource-name>');
$user->canRead('<resource-name>');
$user->canUpdate('<resource-name>');
$user->canDelete('<resource-name>');
$user->can('<permission-name>', '<resource-name>');
角色检查
Laracancan::roles();
Laracancan::hasRole();
$user->roles();
$user->hasRole();
根据权限获取资源
Laracancan::creatableResources();
Laracancan::readableResources();
Laracancan::updatableResources();
Laracancan::deletableResources();
Laracancan::resourcesByPermission('<permission-name');
$user->creatableResources();
$user->readableResources();
$user->updatableResources();
$user->deletableResources();
$user->resourcesByPermission('<permission-name');
将角色附加到用户
$user->attachRole('<role-object>');
$user->detachRole('<role-object>');
$user->attachRoles('<roles>');
$user->detachRoles('<roles>');