88 lines
6.6 KiB
Markdown
Raw Normal View History

2022-11-04 11:03:24 +00:00
---
title: 验证 & 授权
sidebarDepth: 3
---
# 验证 & 授权
Castopod 使用 `codeigniter/shield` 处理身份验证和授权 与自定义规则。 角色和权限
在两个级别上定义:
1. [实例范围](#1-instance-wide-roles-and-permissions)
2. [每个播客](#2-per-podcast-roles-and-permissions)
## 1. 实例范围的角色和权限
### 实例角色
<!-- AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section -->
| 角色 | 描述 | 权限 |
| ---------- | ---------------------------- | ------------------------------------------------------------------------------------------ |
| 超级管理员 | 拥有对 Castopod 的完全控制。 | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
| 管理 | 管理 Castopod 的内容。 | podcasts.create, podcasts.import, persons.manage, pages.manage |
| 播客 | Castopod 的普通用户。 | admin.access |
<!-- AUTH-INSTANCE-ROLES-LIST:END -->
### 实例权限
<!-- AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section -->
| 权限 | 描述 |
| ----------------------- | ------------------------------------------- |
| 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 -->
| 角色 | 描述 | 权限 |
| ------ | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 管理员 | 完全控制播客 #{id}。 | \* |
| 编辑 | 管理播客 #{id} 的内容和出版物。 | view, edit, manage-import, manage-persons, manage-platforms, manage-publications, interact-as, episodes.view, episodes.create, episodes.edit, episodes.delete, episodes.manage-persons, episodes.manage-clips, episodes.manage-publications, episodes.manage-comments, episodes.manage-notifications |
| 作者 | 管理播客 #{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 -->
| 权限 | 描述 |
| ---------------------------- | --------------------------------------------------- |
| view | 可以查看播客 #{id} 的仪表板和分析。 |
| edit | 可以编辑播客 #{id}。 |
| 删除 | 可以删除播客 #{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 -->