SuperAPI AI 工具集

managing-tauri-plugin-permissions

安全与审计

查看项目

更新于 10-15 20:06

技能介绍

用途:指导开发者配置 Tauri 的权限与能力系统,为桌面和移动应用提供细粒度安全控制,包括按窗口和平台分配能力、使用插件权限以及编写自定义插件权限。

主要能力:能力(capabilities)是位于 src-tauri/capabilities/ 的 JSON 配置文件,按最小权限原则为特定窗口和平台分配权限,字段包括 identifier、description、local、windows、permissions、platforms。权限分命令级(如 allow-write-text-file)和作用域级(基于路径限制可访问文件/目录)。可用 platforms 字段限定 linux、windows、macos、android、ios。可为不同窗口创建独立能力文件,也可跨窗口共享。插件权限标识格式为 plugin-name:permission-name,如 fs:allow-read、dialog:allow-open、shell:allow-spawn,每个插件提供 plugin-name:default 默认权限集。作用域支持 $APP、$HOME、$RESOURCE、$TEMP、$DESKTOP、$DOCUMENT、$DOWNLOAD 等变量,并可用 deny 显式拒绝操作。

自定义插件:用 cargo tauri plugin new my-plugin 创建插件,在 build.rs 中通过 tauri_plugin::Builder::new(COMMANDS) 自动生成 allow/deny 权限,在 permissions/default.toml 定义默认权限,在 permissions/*.toml 定义权限集,在 lib.rs 注册命令,前端通过 invoke('plugin:my-plugin|read_data', { key }) 调用。

适用场景:需要为多窗口、跨平台 Tauri 应用实施最小权限、按功能组织能力、区分桌面与移动权限的开发者。

限制与排错:权限被拒时需检查能力文件 JSON 语法、窗口标签、权限标识符及是否需要作用域;能力未生效时确认文件位于 src-tauri/capabilities/、windows 数组正确、platforms 包含目标系统,并在修改后重新构建。资料未提供具体收费、价格或效果信息。