如何管理团队权限:Envault用户角色与App协作者(Collaborators)配置详解

发布时间:2026/8/22 15:29:37
如何管理团队权限:Envault用户角色与App协作者(Collaborators)配置详解 如何管理团队权限Envault用户角色与App协作者Collaborators配置详解【免费下载链接】envaultAn .env sharing tool for your whole team.项目地址: https://gitcode.com/gh_mirrors/en/envaultEnvault 是一款面向整个团队的 .env 共享工具用于集中管理和同步所有项目的环境变量密钥。本文将带你快速掌握 Envault 的用户角色User Role与 App 协作者Collaborators配置方法轻松搭建一套清晰、安全的团队权限体系 。一文看懂 Envault 的两层权限模型Envault 的权限设计非常直观全局用户角色决定你能做什么管理类操作App 协作者角色决定你能访问哪些项目的变量。两层权限相互独立、互不干扰。全局角色users.role App 协作者角色app_collaborators.role ┌─────────────────────┐ ┌────────────────────────┐ │ owner / admin / 无 │ × │ adminApp管理员/ 无 │ │ 管人、管所有项目 │ │ 只影响单个 App 的变量 │ └─────────────────────┐ └────────────────────────┘全局角色的判断逻辑在 app/Models/User.php 中实现owner与admin合并为最高权限组协作者关系通过中间表app_collaborators维护结构见 database/migrations/2020_03_27_232811_create_app_collaborators_table.php其中role字段可为空Envault 全局用户角色详解Owner、Admin 与 Member所有权限规则由三个策略文件控制app/Policies/UserPolicy.php、app/Policies/AppPolicy.php 和 app/Policies/VariablePolicy.php。全局角色值users.role创建 App管理用户修改用户角色查看任意 App Owner所有者owner✅✅✅✅️ Admin管理员admin✅✅不能动 Owner/Admin❌✅ Member普通成员空值❌❌❌❌仅限已加入的 App几个关键规则值得注意角色修改权仅 Owner 拥有app/Policies/UserPolicy.php 中updateRole要求操作者必须是owner且不能修改自己Admin 不能越级管理Admin 无法修改或删除其他 Owner/Admin 账号但普通成员账号归其管理普通成员默认零权限只有被加入某个 App 的协作者列表后才能看到该 App如何创建新用户并分配角色由 Owner 或 Admin 进入Users → Create页面填写新成员的姓名和邮箱提交后系统自动生成账号逻辑在 app/Http/Livewire/Users/Create.php新成员收到邀请邮件后即可登录进入该用户的Edit页面修改角色app/Http/Livewire/Users/Edit.php——只有 Owner 能看到并保存角色字段Admin 修改时角色会被自动忽略 小技巧系统对软删除的用户做了兼容若同名邮箱曾被删除过重新创建时会自动恢复该账号无需担心数据残留。App 协作者Collaborators配置步骤进入某个 App 的编辑页切换到Collaborators标签即可管理成员核心逻辑位于 app/Http/Livewire/Apps/Edit/Collaborators.php。一键添加协作者下拉列表中的可选用户是已注册且尚未加入该 App 的普通成员Owner/Admin 会单独展示因为他们天然拥有全部权限见 Collaborators.php 的mount方法选中用户后点击添加add()方法立即将其关联到该 App并触发CollaboratorAddedEvent事件写入操作日志如何修改协作者角色协作者同样分两档直接在下拉框中切换并保存即可协作者角色值pivot.role查看 App 与变量创建/修改/删除变量‍ App AdminApp 管理员admin✅✅ Collaborator普通协作者空值✅❌角色变更由 updateRole 方法 完成它只更新app_collaborators中间表的role字段不影响该用户的全局角色或其他 App 的权限。移除协作者点击成员旁的移除按钮remove()方法会解除关联并广播事件。注意移除后该用户立刻失去该 App 的查看权限但历史操作日志Log中仍保留其变更记录便于审计。Envault 权限矩阵速查表操作OwnerAdminApp Admin普通协作者无关成员创建/删除 App✅✅❌❌❌查看 App✅✅✅✅❌创建/修改/删除变量✅✅✅❌❌添加/移除协作者✅✅❌❌❌管理全局用户✅部分❌❌❌修改用户全局角色✅❌❌❌❌查看权限判断见 app/Policies/AppPolicy.php全局管理员或App 协作者均可访问。团队权限管理最佳实践最小权限原则日常成员默认给普通协作者只把 App Admin 授予需要改动变量的核心开发Owner 不宜多全局 Owner 拥有最高权限包括永久删除 App建议仅 1 人担任其余用 Admin善用通知App 可配置 Slack 通知app/Models/App.php变量创建、导入、更新时团队会收到推送权限操作一目了然审计可追溯添加/移除协作者、变更角色等操作均会触发事件并记录到日志LogEntry出现权限争议时可随时回溯掌握以上配置你就能在 Envault 中为每个项目量身定制访问范围让团队密钥共享既高效又安全 。【免费下载链接】envaultAn .env sharing tool for your whole team.项目地址: https://gitcode.com/gh_mirrors/en/envault创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考