国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

?? Casbin 權(quán)限插件(Casbin官方)

v2.1.0 版本
2025-04-30 版本更新時(shí)間
2967 安裝
46 star

Latest Stable Version Total Downloads Daily Downloads Latest Unstable Version License PHP Version Require

Security Status

簡介

webman casbin 權(quán)限控制插件。它基于 PHP-Casbin, 一個(gè)強(qiáng)大的、高效的開源訪問控制框架,支持基于ACL, RBAC, ABAC等訪問控制模型。

安裝

composer require -W casbin/webman-permission

使用

1. 依賴注入配置

修改配置config/container.php,其最終內(nèi)容如下:

$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(config('dependence', []));
$builder->useAutowiring(true);
return $builder->build();

2. 數(shù)據(jù)庫配置

默認(rèn)策略存儲是使用的ThinkORM。

1、模型配置

默認(rèn)使用ThinkORM。修改數(shù)據(jù)庫 thinkorm.php 配置

如使用laravel數(shù)據(jù)庫,配置參考如下

  • 修改數(shù)據(jù)庫 database.php 配置
  • 修改數(shù)據(jù)庫 permission.phpadapter適配器為laravel適配器

2、創(chuàng)建 casbin_rule 數(shù)據(jù)表

CREATE TABLE `casbin_rule` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT,
    `ptype` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v0` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v1` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v2` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v3` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v4` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    `v5` VARCHAR ( 128 ) NOT NULL DEFAULT '',
    PRIMARY KEY ( `id` ) USING BTREE,
    KEY `idx_ptype` ( `ptype` ) USING BTREE,
    KEY `idx_v0` ( `v0` ) USING BTREE,
    KEY `idx_v1` ( `v1` ) USING BTREE,
    KEY `idx_v2` ( `v2` ) USING BTREE,
    KEY `idx_v3` ( `v3` ) USING BTREE,
    KEY `idx_v4` ( `v4` ) USING BTREE,
    KEY `idx_v5` ( `v5` ) USING BTREE 
) ENGINE = INNODB CHARSET = utf8mb4 COMMENT = '策略規(guī)則表';

3、配置 config/redis 配置

4、重啟webman

php start.php restart

或者

php start.php restart -d

快速開始

安裝成功后,可以這樣使用:

use Casbin\WebmanPermission\Permission;

// adds permissions to a user
Permission::addPermissionForUser('eve', 'articles', 'read');
// adds a role for a user.
Permission::addRoleForUser('eve', 'writer');
// adds permissions to a rule
Permission::addPolicy('writer', 'articles','edit');

你可以檢查一個(gè)用戶是否擁有某個(gè)權(quán)限:

if (Permission::enforce("eve", "articles", "edit")) {
    echo '恭喜你!通過權(quán)限認(rèn)證';
} else {
    echo '對不起,您沒有該資源訪問權(quán)限';
}

多套驅(qū)動(dòng)配置

需要插件大于版本 webman-permission >=1.2.0

use Casbin\WebmanPermission\Permission;

$permission = Permission::driver("other_conf")
// adds permissions to a user
$permission->addPermissionForUser('eve', 'articles', 'read');
// adds a role for a user.
$permission->addRoleForUser('eve', 'writer');
// adds permissions to a rule
$permission->addPolicy('writer', 'articles','edit');

if ($permission->enforce("eve", "articles", "edit")) {
    echo '恭喜你!通過權(quán)限認(rèn)證';
} else {
    echo '對不起,您沒有該資源訪問權(quán)限';
}

更多 API 參考 Casbin API 。

資料

參考

截圖

贊助商