MonSQLize 适配器示例
这个示例对应 Full standard stack 路径,适合需要同时处理接口权限、数据权限、缓存和持久化的场景。它解决的不是“怎么打开 db: 权限”本身,而是“怎么把规则、绑定、缓存和生产持久化放进同一套默认方案里”。
什么时候该用它
- 同时需要接口权限和数据权限
- 希望把
cache-hub + monsqlize作为默认生产方案 - 需要统一规则持久化和后台管理能力
最简单初始化示例
再往下会怎么接
这条路径的核心组成
MonSQLizeStorageAdapter负责角色、规则和绑定的持久化cache-hub负责用户规则展开结果缓存PermissionCore负责统一接口权限、数据权限和字段过滤语义
推荐这样使用它
- 接口权限用
assert(userId, 'invoke', resource) - 数据权限用
assert(userId, 'read/update/...', 'db:...') - 字段过滤用
filterFields() - 菜单资源拉取用
getResources(userId, 'invoke') - 后台管理用
roles和users
两个必须记住的边界
- 这条路径是官方默认生产路径,不是所有人都必须从这里开始
- 使用
MonSQLizeStorageAdapter不等于你必须启用全部db:资源;存储方式和资源类型仍然是两回事
当前数据库支持边界
在当前内置官方路径里,可以直接把数据库持久化理解成 MonSQLizeStorageAdapter -> monsqlize -> MongoDB。
如果你要接其他数据库,当前更合适的方式仍然是自定义 StorageAdapter。完整边界说明看 存储适配器。
常见误区
- 把它误当成“唯一支持的接法”
- 把
db:权限和存储持久化能力混为一谈 - 初始化后忘记在应用关闭阶段调用
await pc.close()
如果你还没决定自己是否需要完整标准栈,建议先回看 快速开始。