casbin / laminas-db-adapter
用于Casbin的Laminas数据库适配器,Casbin是一个强大且高效的开放源代码访问控制库。
v1.0.0
2020-03-09 16:59 UTC
Requires
- casbin/casbin: ~1.0
- laminas/laminas-db: ^2.11
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ~5.7|~6.0|~7.0
This package is auto-updated.
Last update: 2024-09-23 11:19:35 UTC
README
Laminas-db适配器,用于PHP-Casbin。
官方支持的驱动列表
IbmDb2
:ext/ibm_db2驱动Mysqli
:ext/mysqli驱动Oci8
:ext/oci8驱动Pgsql
:ext/pgsql驱动Sqlsrv
:ext/sqlsrv驱动(来自Microsoft)Pdo_Mysql
:通过PDO扩展的MySQLPdo_Sqlite
:通过PDO扩展的SQLitePdo_Pgsql
:通过PDO扩展的PostgreSQL
安装
使用Composer。
composer require casbin/laminas-db-adapter
使用方法
在使用之前,您需要为Casbin创建一个名为casbin_rule
的表来存储策略。
以mysql为例
CREATE TABLE `casbin_rule` ( `ptype` varchar(255) NOT NULL, `v0` varchar(255) DEFAULT NULL, `v1` varchar(255) DEFAULT NULL, `v2` varchar(255) DEFAULT NULL, `v3` varchar(255) DEFAULT NULL, `v4` varchar(255) DEFAULT NULL, `v5` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
然后您可以像这样开始
require_once './vendor/autoload.php'; use Casbin\Enforcer; use Casbin\Util\Log; use CasbinAdapter\LaminasDb\Adapter; $adapter = new Adapter([ 'driver' => 'Pdo_Mysql', // IbmDb2, Mysqli, Oci8, Pgsql, Sqlsrv, Pdo_Mysql, Pdo_Sqlite, Pdo_Pgsql 'hostname' => '127.0.0.1', 'database' => 'test', 'username' => 'root', 'password' => '', 'port' => '3306', ]); $e = new Enforcer('path/to/model.conf', $adapter); $sub = "alice"; // the user that wants to access a resource. $obj = "data1"; // the resource that is going to be accessed. $act = "read"; // the operation that the user performs on the resource. if ($e->enforce($sub, $obj, $act) === true) { // permit alice to read data1 } else { // deny the request, show an error }
获取帮助
许可
本项目采用Apache 2.0许可。