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. à l'échelle de l'instance
  2. par podcast

1. Rôles et autorisations à l'échelle de l'instance

Rôles dans l’instance

roledescriptionpermissions
Super administrat·rice·eurA un contrôle complet sur Castopod.admin.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks
GestionnaireGère le contenu de Castopod.podcasts.create, podcasts.import, persons.manage, pages.manage
Podcast·rice·eurUtilisateurs généraux de Castopod.admin.access

Autorisations dans l'instance

permissiondescription
admin.accessPeut accéder à la zone d'administration Castopod.
admin.settingsPeut accéder aux paramètres de Castopod.
users.managePeut gérer les utilisateurs de Castopod.
persons.managePermet de gérer les personnes.
pages.managePermet de gérer les pages.
podcasts.viewPeut voir tous les podcasts.
podcasts.createPeut créer de nouveaux podcasts.
podcasts.importPeut importer des podcasts.
fediverse.manage-blocksPeut empêcher des act·rice·eur·s/domaines d'interagir avec Castopod.

2. Rôles et autorisations par podcast

Rôles par podcast

roledescriptionpermissions
AdministrateurA un contrôle total sur le podcast #{id}.*
ÉditeurGè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 / AutriceGè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

permissiondescription
viewPeut voir le tableau de bord et les analyses du podcast #{id}.
editPeut éditer le podcast #{id}.
deletePeut supprimer le podcast #{id}.
manage-importPeut synchroniser le podcast importé #{id}.
manage-personsPermet de gérer les abonnements au podcast #{id}.
manage-subscriptionsPermet de gérer les abonnements au podcast #{id}.
manage-contributorsPermet de gérer les contributeurs du podcast #{id}.
manage-platformsPeut configurer/supprimer les liens de la plateforme du podcast #{id}.
manage-publicationsPeut publier le podcast #{id}.
manage-notificationsPeut afficher et marquer les notifications comme lues pour le podcast #{id}.
interact-asPeut interagir en tant que podcast #{id} pour mettre en favori, partager ou répondre aux messages.
episodes.viewPeut voir le tableau de bord et les analyses du podcast #{id}.
episodes.createPeut créer des épisodes pour le podcast #{id}.
episodes.editPeut éditer le podcast #{id}.
episodes.deletePeut supprimer le podcast #{id}.
episodes.manage-personsPermet de gérer les abonnements au podcast #{id}.
episodes.manage-clipsPermet de gérer les clips vidéo ou les parties sonores du podcast #{id}.
episodes.manage-publicationsPeut publier le podcast #{id}.
episodes.manage-commentsPeut créer/supprimer les commentaires de l'épisode du podcast #{id}.