Aller au contenu

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

Instance roles

/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/
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
PodcasterUtilisateurs généraux de Castopod.admin.access
/_ AUTH-INSTANCE-ROLES-LIST:END _/

Autorisations dans l’instance

/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/
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.
/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/

2. Rôles et autorisations par podcast

Rôles par podcast

/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/
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
/_ AUTH-PODCAST-ROLES-LIST:END _/

Permissions par podcast

/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/
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 statistiques du podcast #{id}.
episodes.createPeut créer des épisodes pour le podcast #{id}.
episodes.editPeut modifier les épisodes du podcast #{id}.
episodes.deletePeut supprimer les épisodes du podcast #{id}.
episodes.manage-personsPeut gérer les intervenants des épisodes du podcast #{id}.
episodes.manage-clipsPermet de gérer les clips vidéo ou les parties sonores du podcast #{id}.
episodes.manage-publicationsPeut publier/dépublier des épisodes et des messages de podcast #{id}.
episodes.manage-commentsPeut créer/supprimer les commentaires de l’épisode du podcast #{id}.
/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/