用途:面向 Tauri 2 的权限与能力(capability)配置,帮助设置权限、创建 capability 文件、配置插件访问控制,并排查 permission denied 错误。该体系为 Tauri 2 新增,完全取代 v1 的 allowlist;v1 风格配置在 v2 中不存在。
主要能力:权限命名遵循 <plugin>:default、<plugin>:allow-<command>、<plugin>:deny-<command>、<plugin>:<custom-set>、core:<module>:default、core:<module>:allow-<cmd> 以及无插件前缀的 allow-<command>。capability 文件位于 src-tauri/capabilities/.json(JSON 或 TOML),应用权限定义位于 src-tauri/permissions/.toml(仅 TOML),生成的 schema 位于 src-tauri/gen/schemas/。capability 属性含 identifier、windows、permissions 等必填项,以及 description、platforms、remote 等可选项。
使用方式:在 capabilities 目录放置文件即自动启用;插件安装后必须显式添加权限,否则命令会报 command not allowed;核心功能需显式添加 core:default 或具体 core:*:default;修改权限或 capability 文件后需运行 cargo build,权限在构建时校验编译。支持自定义命令权限、scope 配置、权限集、平台专属 capability 与远程 API 访问。
限制:应用级权限必须用 TOML,仅 capability 文件支持 JSON;生产环境避免 windows 用 "*" 搭配宽泛权限;同一窗口出现在多个 capability 时权限为叠加合并,无覆盖或冲突解决。官方参考见 https://v2.tauri.app/security/permissions/ 与 https://v2.tauri.app/security/capabilities/。