Saltearse al contenido

Autenticación & Autenticación

Castopod gestiona la autenticación y autorización usando codeignitor/escudo emparejado con reglas personalizadas. Los roles y permisos se definen en dos niveles:

  1. por instancia
  2. por podcast

1. Roles por instancia y permisos

Roles de instancia

roledescriptionpermissions
Super administradorTiene control completo sobre Castopod.admin.*, plugins.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks
AdministradorAdministrar contenido de Castopod.podcasts.create, podcasts.import, persons.manage, pages.manage
PodcasterUsuarios generales de Castopod.admin.access

Permisos de instancia

permissiondescription
admin.accessPuedes acceder al área de administración de Castopod.
admin.settingsPuede acceder a la configuración de Castopod.
plugins.manageAuth.instance_permissions.plugins.manage
users.managePuede administrar usuarios de Castopod.
persons.managePuede administrar personas.
pages.managePuede administrar páginas.
podcasts.viewPuede ver todos los podcasts.
podcasts.createPuede crear nuevos podcasts.
podcasts.importPuede importar podcasts.
fediverse.manage-blocksPuedes bloquear la interacción de actores/dominios del fediverso con Castopod.

2. Permisos y roles por podcast

Roles por podcast

roledescriptionpermissions
AdministradorTiene el control completo del podcast #{id}.*
EditorGestiona el contenido y las publicaciones del 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
AutorGestiona el contenido del podcast #{id} pero no puede publicarlo.view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips
InvitadoColaborador general del podcast #{id}.view, episodes.view

Permisos por podcast

permissiondescription
viewPuede ver el panel de control y analíticas del episodio #{id}.
editPuede editar el podcast #{id}.
deletePuede borrar el podcast #{id}.
manage-importPuede sincronizar el podcast importado #{id}.
manage-personsPuede administrar las suscripciones del podcast #{id}.
manage-subscriptionsPuede administrar las suscripciones del podcast #{id}.
manage-contributorsPuede administrar colaboradores del podcast #{id}.
manage-platformsPuede establecer/eliminar enlaces a la plataforma del podcast #{id}.
manage-publicationsPuede publicar el podcast #{id}.
manage-notificationsPuede ver y marcar las notificaciones como leídas para podcast #{id}.
interact-asPuede interactuar como el podcast #{id} para marcar como favarito, compartir o responder a las publicaciones.
episodes.viewPuede ver el panel de control y analíticas del episodio #{id}.
episodes.createPuede crear episodios para el podcast #{id}.
episodes.editPuede editar episodios del podcast #{id}.
episodes.deletePuede borrar episodios del podcast #{id}.
episodes.manage-personsPuede administrar las personas de los episodios del podcast #{id}.
episodes.manage-clipsPuedes administrar video clips o sonidos del podcast #{id}.
episodes.manage-publicationsPuede publicar/despublicar episodios y publicaciones del podcast #{id}.
episodes.manage-commentsPuede crear/eliminar los comentarios de episodio del podcast #{id}.