Pular para o conteúdo

Authentication & Authorization

Castopod handles authentication and authorization using codeigniter/shield coupled with custom rules. Roles and permissions are defined at two levels:

  1. instance wide
  2. per podcast

1. Instance wide roles and permissions

Instance roles

/_ AUTH-INSTANCE-ROLES-LIST:START - Do not remove or modify this section _/
roledescriptionpermissions
Super administradorTem controle completo sobre Castopod.admin.*, podcasts.*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks
GerenteGerencia o conteúdo de Castopod.podcasts.create, podcasts.import, persons.manage, pages.manage
PodcasterUsuários gerais do Castopod.admin.access
/_ AUTH-INSTANCE-ROLES-LIST:END _/

Instance permissions

/_ AUTH-INSTANCE-PERMISSIONS-LIST:START - Do not remove or modify this section _/
permissiondescription
admin.accessPode acessar a área de administração do Castopod.
admin.settingsPode acessar as configurações de Castopod.
users.managePode gerenciar usuários do Castopod.
persons.managePode gerenciar pessoas.
pages.managePode gerenciar páginas.
podcasts.viewPode ver todos os podcasts.
podcasts.createPode criar novos podcasts.
podcasts.importPode importar podcasts.
fediverse.manage-blocksPode bloquear ator/domínios distintos de interagir com Castopod.
/_ AUTH-INSTANCE-PERMISSIONS-LIST:END _/

2. Per podcast roles and permissions

Per podcast roles

/_ AUTH-PODCAST-ROLES-LIST:START - Do not remove or modify this section _/
roledescriptionpermissions
AdministradorTem controle completo do podcast #{id}.*
EditorGerencia o conteúdo e as publicações do 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
AutorGerencia o conteúdo do podcast #{id} mas não pode publicá-los.view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips
GuestContribuidor geral do podcast #{id}.view, episodes.view
/_ AUTH-PODCAST-ROLES-LIST:END _/

Per podcast permissions

/_ AUTH-PODCAST-PERMISSIONS-LIST:START - Do not remove or modify this section _/
permissiondescription
viewPode visualizar o painel de controle e análises do podcast #{id}.
editPode editar o podcast #{id}.
deletePode deletar episódios do podcast #{id}.
manage-importPode sincronizar o podcast importado #{id}.
manage-personsPode gerenciar assinaturas do podcast #{id}.
manage-subscriptionsPode gerenciar assinaturas do podcast #{id}.
manage-contributorsPode gerenciar contribuidores do podcast #{id}.
manage-platformsPode definir/remover links de plataforma do podcast #{id}.
manage-publicationsPode publicar podcast #{id}.
manage-notificationsPode ver e marcar notificações como lidas para o podcast #{id}.
interact-asPode interagir com o podcast #{id} para favorito, compartilhar ou responder às publicações.
episodes.viewPode ver painéis e análises de episódios de podcast #{id}.
episodes.createPode criar episódios para o podcast #{id}.
episodes.editPode editar episódios de podcast #{id}.
episodes.deletePode excluir episódios do podcast #{id}.
episodes.manage-personsPode gerenciar pessoas de episódios do podcast #{id}.
episodes.manage-clipsPode gerenciar clipes de vídeo ou sons de episódios do podcast #{id}.
episodes.manage-publicationsPode publicar/remover a publicação de episódios e postagens de podcast #{id}.
episodes.manage-commentsPode criar/remover comentários de episódio do podcast #{id}.
/_ AUTH-PODCAST-PERMISSIONS-LIST:END _/