--- title: 验证 & 授权 sidebarDepth: 3 --- # 验证 & 授权 Castopod 使用 `codeigniter/shield` 处理身份验证和授权 与自定义规则。 角色和权限 在两个级别上定义: 1. [实例范围](#1-instance-wide-roles-and-permissions) 2. [每个播客](#2-per-podcast-roles-and-permissions) ## 1. 实例范围的角色和权限 ### 实例角色 | role | description | permissions | | ---------- | ---------------------------- | ------------------------------------------------------------------------------------------ | | 超级管理员 | 拥有对 Castopod 的完全控制。 | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | | 管理 | 管理 Castopod 的内容。 | podcasts.create, podcasts.import, persons.manage, pages.manage | | 播客 | Castopod 的普通用户。 | admin.access | ### 实例权限 | permission | description | | ----------------------- | ------------------------------------------- | | admin.access | 可以访问 Castopod 管理区域。 | | admin.settings | 可以访问 Castopod 设置。 | | users.manage | 可以管理 Castopod 用户。 | | persons.manage | 可以管理人员。 | | pages.manage | 可以管理页面。 | | podcasts.view | 可以查看所有播客。 | | podcasts.create | 可以创建新播客。 | | podcasts.import | 可以导入播客。 | | fediverse.manage-blocks | 可以阻止联邦宇宙参与者/域与 Castopod 交互。 | ## 2. 每个播客角色与权限 ### 每个播客角色 | role | description | permissions | | ------ | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 管理员 | 完全控制播客 #{id}。 | \* | | 编辑 | 管理播客 #{id} 的内容和出版物。 | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, manage-notifications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments | | 作者 | 管理播客 #{id} 的内容,但不能发布。 | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | | 访客 | 播客 #{id} 的普通贡献者。 | view, episodes.view | ### 每个播客权限 | permission | description | | ---------------------------- | --------------------------------------------------- | | view | 可以查看播客 #{id} 的仪表板和分析。 | | edit | 可以编辑播客 #{id}。 | | delete | 可以删除播客 #{id}。 | | manage-import | 可以同步导入的播客 #{id}。 | | manage-persons | 可以管理播客 #{id} 的订阅。 | | manage-subscriptions | 可以管理播客 #{id} 的订阅。 | | manage-contributors | 可以管理播客 #{id} 的贡献者。 | | manage-platforms | 可以设置/删除播客 #{id} 的平台链接。 | | manage-publications | 可以发布播客 #{id}。 | | manage-notifications | 可以查看播客 #{id} 的通知并将其标记为已读。 | | interact-as | 可以在播客 #{id} 进行互动,以收藏、分享或回复帖子。 | | episodes.view | 可以查看播客 #{id} 的仪表板和分析。 | | episodes.create | 可以为播客 #{id} 创建剧集。 | | episodes.edit | 可以编辑播客 #{id}。 | | episodes.delete | 可以删除播客 #{id}。 | | episodes.manage-persons | 可以管理播客 #{id} 的订阅。 | | episodes.manage-clips | 可以管理播客 #{id} 的视频剪辑或声音片段。 | | episodes.manage-publications | 可以发布播客 #{id}。 | | episodes.manage-comments | 可以创建/删除播客 #{id} 的剧集评论。 |