nsnake/casbin-adapter-redis-adapter

Casbin的Redis适配器

v1.0 2021-04-12 02:59 UTC

This package is auto-updated.

Last update: 2024-09-22 07:22:50 UTC


README

Casbin的Redis适配器

#composer

composer require nsnake/casbin-adapter-redis-adapter

使用方法

<?php
use CasbinAdapter\Redis\Adapter AS RedisAdapter;
$redis_handle  = new Redis(...);
$a = new RedisAdapter(redis_handle,$your_redis_key_name);
$enforcer = new Enforcer("model.conf", $a);
$enforcer->addRule()
$enforcer->addRole()
...

#save
$enforcer->savePolicy();
#load
$enforcer->loadPolicy();

注意

PHP redis扩展支持RedisCluster和Predis

CasbinAdapter-Redis-Adapter仅支持savePolicy和loadPolicy函数。

##############################################################################

基于redis的Casbin快速存取

#composer安装

composer require nsnake/casbin-adapter-redis-adapter

使用方法

<?php
use CasbinAdapter\Redis\Adapter AS RedisAdapter;
$redis_handle  = new Redis(...);
$a = new RedisAdapter(redis_handle,$your_redis_key_name);
$enforcer = new Enforcer("model.conf", $a);
$enforcer->addRule()
$enforcer->addRole()
...

#保存规则
$enforcer->savePolicy();
#读取规则
$enforcer->loadPolicy();

注意

RedisAdapter为了方便在不同环境或框架下运行,因此采用依赖注入的方式,即模块本身不参与redis的连接过程,使用时只需传入redis的句柄即可(例如在tp5.1下可以使用Cache::handler方式获取)。目前支持的php扩展为Redis,RedisCluster和Predis,基于常用场景和执行效率的原因。RedisAdapter不支持自动保存和对单独的policy进行添加或编辑操作,即和自带的文件存储一样都是整存整取。