Castopod 使用 codeigniter/shield
处理身份验证和授权 与自定义规则。 角色和权限
在两个级别上定义: Roles and permissions are defined at two levels:
- 实例范围
- 每个播客
1. 实例范围的角色和权限
实例角色
/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/
role | description | permissions |
---|
超级管理员 | 拥有对 Castopod 的完全控制。 | admin.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
管理 | 管理 Castopod 的内容。 | podcasts.create, podcasts.import, persons.manage, pages.manage |
Podcaster | Castopod 的普通用户。 | admin.access |
/_ AUTH-INSTANCE-ROLES-LIST:END _/
实例权限
/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/
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 交互。 |
/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/
2. 每个播客角色与权限
每个播客角色
/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/
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 |
/_ AUTH-PODCAST-ROLES-LIST:END _/
每个播客权限
/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/
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} 的剧集评论。 |
/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/