hamedmehryar/laracancan

Laravel 的基于资源的权限系统

1.0.0 2016-10-08 09:44 UTC

This package is not auto-updated.

Last update: 2024-09-19 15:07:17 UTC


README

Screen Shot

LaraCanCan

Laravel 的基于资源的权限系统

特性

  • 资源权限
  • 权限继承
  • 角色
  • 自定义权限

Screen Shot

Screen Shot

Screen Shot

安装(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>');

作者