@casbinjs/core

中文文档
0.0.2发布于 2026/03/19ISCTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 5875

卡斯宾JS核心

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 创建授权者
  4. 检查权限
  5. 运行时改变政策
  6. API 密码
  7. createAuthorizer(options?)
  8. Authorizer

@ casbinjs/ core (中文(简体) )

框架不可预见授权核心 卡斯宾JS完整的实例,包括基于角色的获取、资源分组、行动继承和框架整合,见 主读取器组合 笼盖核心 使用干净的ASync API进行许可检查和运行时间政策管理.

安装

npm install @casbinjs/core

使用量

创建授权者

import { createAuthorizer } from '@casbinjs/core';

const authorizer = await createAuthorizer({
  subject: 'alice',
  organization: 'org-1',
  model: `
    [request_definition]
    r = sub, res, org, act
    [policy_definition]
    p = sub, res, org, act, eft
    [policy_effect]
    e = some(where (p.eft == allow))
    [matchers]
    m = r.sub == p.sub && r.org == p.org && r.res == p.res && r.act == p.act
  `,
  policies: [
    ['p', 'alice', 'document:123', 'org-1', 'read', 'allow'],
  ],
});

检查权限

await authorizer.can('read', 'document:123');       // true
await authorizer.canAny(['read', 'write'], 'document:123'); // true
await authorizer.canAll(['read', 'write'], 'document:123'); // false

运行时改变政策

await authorizer.addPolicy(['p', 'alice', 'document:123', 'org-1', 'write', 'allow']);
await authorizer.removePolicy(['p', 'alice', 'document:123', 'org-1', 'write', 'allow']);
await authorizer.replacePolicies([
  ['p', 'alice', 'document:456', 'org-1', 'read', 'allow'],
]);

API 密码

createAuthorizer(options?)

创建并初始化一个 Authorizer 举个例子.

选项类型说明
modelstring卡斯宾模型定义. 回到一个基础 sub, obj, act 如果省略则使用模型.
policiesstring[][]初步政策规则.
subjectstring当前用户/ 接受权限检查的主体 .
organizationstring许可检查的组织范围.

Authorizer

方法签署说明
can(action, resource) => Promise<boolean>请检查access-date=中的日期值 (帮助).
canAny(actions, resource) => Promise<boolean>回返 true 如果至少允许一个动作.
canAll(actions, resource) => Promise<boolean>回返 true 只有允许一切行动.
addPolicy(policy) => Promise<void>增加政策规则.
removePolicy(policy) => Promise<void>删除政策规则 .
replacePolicies(policies) => Promise<void>从解剖角度取代所有政策.
getEnforcer() => Enforcer | null进入核心执行器.

版本与发布记录

@casbinjs/core 共发布 3 个版本,首次发布于 2026/03/18;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.2latest2026/03/197 个月前
0.0.12026/03/187 个月前
1.0.02026/03/187 个月前

关于 @casbinjs/core 的常见问题

@casbinjs/core 是什么?

卡斯宾JS核心

如何安装 @casbinjs/core?

在项目目录运行 npm install @casbinjs/core,或使用 pnpm add / yarn add / bun add。

@casbinjs/core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@casbinjs/core 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@casbinjs/core 可以商用吗?

@casbinjs/core 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@casbinjs/core 的下载量有多少?

根据 npm 官方下载统计,@casbinjs/core 在 2026/10/09 – 2026/11/07 这 30 天内被下载 5,875 次,日均约 196 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@casbinjs/core 还在维护吗?

最新版本 0.0.2 发布于 2026/03/19(7 个月前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/03/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。