利用PostgreSQL构建实时Casbin策略更新观察器
需积分: 10 48 浏览量
更新于2024-11-19
收藏 7KB ZIP 举报
资源摘要信息:"casbin-pg-watcher是一个基于PosgreSQL数据库的NOTIFY机制构建的Casbin观察器。Casbin是一个强大的、支持多种访问控制模型的库,它允许开发者以声明方式管理访问权限。该库支持诸如ACL, RBAC, ABAC等访问控制模型。而PG-Watcher在此基础上为Casbin提供了一种实时更新策略的能力。每当Casbin的策略数据库发生更改时,PG-Watcher会使用PostgreSQL的NOTIFY/LISTEN特性来通知所有订阅者策略已更新,进而触发所有连接的强制执行器重新加载策略。这样的机制特别适用于分布式系统和微服务架构中,因为它能够确保策略的更改能够实时地在系统中传播和生效。
为了使用casbin-pg-watcher,需要先安装Casbin和casbin-pg-adapter。casbin-pg-adapter是Casbin的一个适配器,用于连接到PostgreSQL数据库。它负责管理策略数据的存储和检索。在这个过程中,casbin-pg-watcher作为观察者模式的实现,监控着数据库中策略的变动。一旦检测到改动,就会通过PostgreSQL的异步通知机制向所有连接的Casbin强制执行器发送通知。
具体实现案例中,通过Node.js的require方法引入casbin、casbin-pg-adapter以及casbin-pg-watcher。然后创建一个新的执行器(enforcer),并指定数据源名称(connectionString)来连接到PostgreSQL数据库。在案例中使用了异步的sleep函数来模拟等待数据库操作,虽然在实际应用中不一定会用到sleep,但在复杂的系统中可能需要异步等待某些条件满足。
贴合标签“JavaScript”,casbin-pg-watcher是在JavaScript环境中使用的,因此它需要运行在支持JavaScript的服务器端或客户端环境中。例如,它适合用在使用Node.js服务器的Web应用中。
最后,从提供的压缩包子文件的文件名称列表“casbin-pg-watcher-master”可以推断出,该观察器的源代码是开源的,并且其最新版本的源代码文件存放在名为“casbin-pg-watcher-master”的目录中。开发者可以通过访问这个目录来获取源代码,并且在遵守开源协议的前提下进行使用、研究以及贡献代码。
关键词:Casbin, PostgreSQL, NOTIFICATION, Adapter, Watcher, JavaScript, Node.js, 异步通知, 访问控制, 微服务架构, 开源"
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-05-07 上传
2021-02-12 上传
2021-03-19 上传
2021-03-18 上传
2021-08-03 上传
2021-02-05 上传
迷荆
- 粉丝: 65
- 资源: 4720
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析