Authentification et Autorisation
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 :
1. Rôles et autorisations à l’échelle de l’instance
Section intitulée « 1. Rôles et autorisations à l’échelle de l’instance »Instance roles
Section intitulée « 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
Section intitulée « 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
Section intitulée « 2. Rôles et autorisations par podcast »Rôles par podcast
Section intitulée « 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
Section intitulée « 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}. |