Castopod gère l’authentification et l’autorisation à l’aide de
codeigniter/shield
associés à des règles personnalisées. Les rôles et les
autorisations sont définis sur deux niveaux :
- à l’échelle de l’instance
- par podcast
1. Rôles et autorisations à l’échelle de l’instance
Instance roles
role | description | permissions |
---|
Super administrat·rice·eur | A un contrôle complet sur Castopod. | admin.*, plugins.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks |
Gestionnaire | Gère le contenu de Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage |
Podcast·rice·eur | Utilisateurs généraux de Castopod. | admin.access |
Autorisations dans l’instance
permission | description |
---|
admin.access | Peut accéder à la zone d’administration Castopod. |
admin.settings | Peut accéder aux paramètres de Castopod. |
plugins.manage | Auth.instance_permissions.plugins.manage |
users.manage | Peut gérer les utilisateurs de Castopod. |
persons.manage | Permet de gérer les personnes. |
pages.manage | Permet de gérer les pages. |
podcasts.view | Peut voir tous les podcasts. |
podcasts.create | Peut créer de nouveaux podcasts. |
podcasts.import | Peut importer des podcasts. |
fediverse.manage-blocks | Peut empêcher des act·rice·eur·s/domaines d’interagir avec Castopod. |
2. Rôles et autorisations par podcast
Rôles par podcast
role | description | permissions |
---|
Administrateur | A un contrôle total sur le podcast #{id}. | * |
Éditeur | Gère le contenu et les publications du podcast #{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 |
Auteur / Autrice | Gère le contenu du podcast #{id} , mais ne peut pas le publier. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips |
Invité | Contributeur général du podcast #{id}. | view, episodes.view |
Permissions par podcast
permission | description |
---|
view | Peut voir le tableau de bord et les analyses du podcast #{id}. |
edit | Peut éditer le podcast #{id}. |
delete | Peut supprimer le podcast #{id}. |
manage-import | Peut synchroniser le podcast importé #{id}. |
manage-persons | Permet de gérer les abonnements au podcast #{id}. |
manage-subscriptions | Permet de gérer les abonnements au podcast #{id}. |
manage-contributors | Permet de gérer les contributeurs du podcast #{id}. |
manage-platforms | Peut configurer/supprimer les liens de la plateforme du podcast #{id}. |
manage-publications | Peut publier le podcast #{id}. |
manage-notifications | Peut afficher et marquer les notifications comme lues pour le podcast #{id}. |
interact-as | Peut interagir en tant que podcast #{id} pour mettre en favori, partager ou répondre aux messages. |
episodes.view | Peut voir le tableau de bord et les statistiques du podcast #{id}. |
episodes.create | Peut créer des épisodes pour le podcast #{id}. |
episodes.edit | Peut modifier les épisodes du podcast #{id}. |
episodes.delete | Peut supprimer les épisodes du podcast #{id}. |
episodes.manage-persons | Peut gérer les intervenants des épisodes du podcast #{id}. |
episodes.manage-clips | Permet de gérer les clips vidéo ou les parties sonores du podcast #{id}. |
episodes.manage-publications | Peut publier/dépublier des épisodes et des messages de podcast #{id}. |
episodes.manage-comments | Peut créer/supprimer les commentaires de l’épisode du podcast #{id}. |