jcsabin FilteredAdapter 逻辑处理问题
jcasbin 默认的Enforcer 构造函数在处理FilteredAdapter的时候有些问题(造成的问题是运行正常,但是过程有问题)
原有参考代码
public Enforcer(Model m, Adapter adapter) {
this.adapter = adapter;
this.watcher = null;
model = m;
model.printModel();
fm = FunctionMap.loadFunctionMap();
initialize();
// 此处有问题
if (this.adapter != null ) {
loadPolicy();
}
}
现象
就是只要是传递了adapter 就会执行加载,问题就很明显了,违背了filter 的意义了
解决方法
实际上官方提供了一个filteradapter 的处理,只是没有使用
public Enforcer(Model m, Adapter adapter) {
this.adapter = adapter;
this.watcher = null;
model = m;
model.printModel();
fm = FunctionMap.loadFunctionMap();
initialize();
// fix: Enforcer pass FilteredAdapter will load all policy
if (this.adapter != null && !isFiltered()) {
loadPolicy();
}
}
说明
相关的pr 已经合并了,并且在1.10.2 已经发布了,对于使jcasbin filteradapter的比较推荐使用此maven 包
参考资料
https://github.com/casbin/jcasbin/pull/197
https://github.com/casbin/jcasbin/releases/tag/v1.10.2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-06-13 pgloader 学习(八) pg 2 pg 简单demo
2019-06-13 pgloader 学习(七) 从归档文件加载数据
2019-06-13 pgloader 学习(六) 加载csv 数据
2019-06-13 pgloader 学习(五)pgloader 参考手册
2019-06-13 pgloader 学习(四)一些简单操作例子
2019-06-13 pgloader 学习(三)快速使用
2019-06-13 pgloader 学习(二)特性矩阵&&命令行