--- title: Authentication & Authorization sidebarDepth: 3 --- # 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](#1-instance-wide-roles-and-permissions) 2. [per podcast](#2-per-podcast-roles-and-permissions) ## 1. Instance wide roles and permissions ### Instance roles | role | description | permissions | | --------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------ | | Super beheerder | Heeft de volledige controle over Castopod. | admin.\*, podcasts.\*, users.manage, persons.manage, pages.manage, fediverse.manage-blocks | | Beheerder | Beheert de inhoud van Castopod. | podcasts.create, podcasts.import, persons.manage, pages.manage | | Podcaster | Algemene gebruikers van Castopod. | admin.access | ### Instance permissions | permission | description | | ----------------------- | -------------------------------------------------------------------- | | admin.access | Kan toegang krijgen tot de beheeromgeving van Castopod. | | admin.settings | Kan toegang krijgen tot de instellingen van Castopod. | | users.manage | Kan Castopod-gebruikers beheren. | | persons.manage | Kan personen beheren. | | pages.manage | Kan pagina's beheren. | | podcasts.view | Kan alle podcasts bekijken. | | podcasts.create | Kan nieuwe podcast aanmaken. | | podcasts.import | Kan podcasts importeren. | | fediverse.manage-blocks | Kan fediverse actors/domains blokkeren voor interactie met Castopod. | ## 2. Per podcast roles and permissions ### Per podcast roles | role | description | permissions | | --------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Beheerder | Heeft de volledige controle over podcast #{id}. | \* | | Redacteur | Beheert inhoud en publicaties van 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 | Beheert de inhoud van podcast #{id} maar kan deze niet publiceren. | view, manage-persons, episodes.view, episodes.create, episodes.edit, episodes.manage-persons, episodes.manage-clips | | Gast | Algemene bijdrager van podcast #{id}. | view, episodes.view | ### Per podcast permissions | permission | description | | ---------------------------- | -------------------------------------------------------------------------------------- | | view | Kan dashboard en analyses van podcast #{id} zien. | | edit | Kan podcast #{id} wijzigen. | | delete | Kan podcast #{id} verwijderen. | | manage-import | Kan de geïmporteerde podcast #{id} synchroniseren. | | manage-persons | Kan abonnementen van podcast #{id} beheren. | | manage-subscriptions | Kan abonnementen van podcast #{id} beheren. | | manage-contributors | Kan bijdragers van podcast #{id} beheren. | | manage-platforms | Kan platform links van podcast #{id} instellen of verwijderen. | | manage-publications | Kan podcast #{id} publiceren. | | manage-notifications | Kan meldingen bekijken en markeren als gelezen voor podcast #{id}. | | interact-as | Kan als podcast #{id} handelen om te favorieten, te delen of te reageren op berichten. | | episodes.view | Kan dashboard en analyses van podcast #{id} zien. | | episodes.create | Kan afleveringen voor podcast #{id} aanmaken. | | episodes.edit | Kan podcast #{id} wijzigen. | | episodes.delete | Kan podcast #{id} verwijderen. | | episodes.manage-persons | Kan abonnementen van podcast #{id} beheren. | | episodes.manage-clips | Kan videoclips of soundbites van podcast #{id} beheren. | | episodes.manage-publications | Kan podcast #{id} publiceren. | | episodes.manage-comments | Kan opmerkingen van aflevering van podcast van #{id} maken of verwijderen. |