52 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: micro-app.permission.concept
title: 微应用权限
type: concept
feature: micro-app
scope: end-user
locale: zh
aliases:
- 微应用权限
- 谁能用微应用
- 微应用对谁可见
- 微应用登录态
- 微应用 SSO
- 微应用 token
related_tools: []
related_pages: [application]
prerequisites: []
negative:
- 没有「整体禁用所有微应用」的开关,按单个插件 / 单条菜单控制
- 微应用内部的细粒度权限(如「谁能改 OKR」由插件自身实现不归 DooTask 主程序管
- 临时帐号 / 受限身份的功能限制对微应用同样生效(如禁止创建群、禁止文件分享)
last_verified: v1.7.90
---
# 微应用权限
## 定义
微应用权限分两层:**主程序层**控制谁能看到 / 进入这个微应用;**插件内部**控制进入后能做什么。前者由 DooTask 主程序按用户身份 + 菜单配置过滤,后者由每个插件自行实现。
## 主程序层判断
- **可见范围 visible_to**:菜单注册时声明
- `all` — 所有成员可见
- `admin` — 仅系统管理员可见(应用中心走「管理员」分区)
- **管理员判断**:基于 `userIsAdmin`,对应 `User::isAdmin()`
- **菜单位置 location**:决定渲染在哪里(应用中心 / 主导航 / 管理员区)
- **临时帐号限制**:受限身份在主程序的所有限制(禁止创建群、禁止文件分享等)同样作用于微应用调用主程序接口
## 登录态传递
- 微应用通过 URL `?token={user_token}` 拿到当前用户身份
- 微应用自己再调用 DooTask 后端时携带该 token
- 后端会校验 token 关联的用户身份,决定是否放行接口
## 插件内部权限
- 由插件自行实现DooTask 不强制规范
- 比如 OKR 内部有「目标负责人」「KR 协作者」概念
- 比如 approve 内部有「审批人」「抄送人」「发起人」概念
- 主程序对此不做拦截,只负责把用户身份传过去
## 与系统应用对比
- 系统应用走主程序权限体系,由 [[role-permission.permission-denied.faq]] 覆盖
- 微应用主程序层只控可见性,业务权限由插件自管