Handleidingen

Gebruikers en rechten

Rollen, rechten per resource en controles in templates, libraries en de API.

Toegang in Nimbly is gebaseerd op rollen. Een gebruiker heeft één of meer rollen, en een rol heeft rechten. Dezelfde rechten gelden in de admin, in de API, bij inline bewerken en in je eigen templates.

Rollen

De setup maakt twee rollen: admin, die alles mag, en editor. Rollen beheer je op /nb-admin/roles/. Het rechtenscherm toont een rij per resource met een vinkje per handeling, zodat een rol bijvoorbeeld projecten mag bewerken maar leads alleen mag lezen.

Rechten

Elke resource heeft dezelfde set:

Recht Staat toe
view-projects Projecten lezen
create-projects Projecten toevoegen
edit-projects Projecten wijzigen
delete-projects Losse projecten verwijderen
manage-projects Alles hierboven
import-projects, export-projects Importeren en exporteren in de admin

Andere rechten gaan over het platform zelf:

Recht Staat toe
edit-inline-content Tekst en afbeeldingen op de pagina's bewerken
view-nimblybar De bewerkbalk op de site
view-admin-dashboard Het dashboard van de admin
view-stats Bezoekersstatistieken
edit-.config Site-instellingen en pagina-instellingen
chat-nimbly De ingebouwde agent in de teamchat

Projecten kunnen eigen rechten toevoegen, zoals approve-orders, en die in templates en libraries controleren.

Toegang controleren in templates

Toon iets alleen aan gebruikers met een bepaald recht:

[#feature-cond features=edit-projects tpl=btn-edit-project#]
[#feature-cond features=view-reports tpl=reports-panel tpl_else=reports-locked#]

Bescherm een hele pagina; een bezoeker zonder het recht wordt weggestuurd voordat er iets wordt getoond:

[#access feature=view-reports#]
[#html#]

Een knop verbergen is presentatie, geen beveiliging. De handeling erachter, in de API of in een library, controleert het recht zelf.

Toegang controleren in PHP

load_library('access');
if (!access_by_feature('approve-orders')) {
    return;
}

In een eigen API-endpoint accepteert api_access('<permission>') de ingelogde gebruiker, een API-token of een uitdrukkelijk toegestane publieke handeling. Beperk de data tot de gebruiker als die van hem is, via $_SESSION['username'].

Gebruikers met eigen data

Bewaar voor een ledenomgeving de eigenaar op het record en filter daarop in de library die de pagina voorbereidt. Een gebruiker mag zijn eigen profielvelden wijzigen; welke dat zijn, stel je in met self_edit in de resource users.

API-gebruikers

Een integratie logt in als een eigen gebruiker, met een rol die alleen heeft wat nodig is. Een feed die projecten alleen leest, heeft view-projects nodig en verder niets. Zie Integraties.

Alle records van een resource in één keer verwijderen is een apart recht, api_delete_resource_<resource>, dat in geen enkel ander recht zit.

Sessies

Sessies eindigen na een periode zonder activiteit: 4 uur voor bezoekers, 3 dagen voor ingelogde gebruikers en 7 dagen voor admins, per rol in te stellen onder session in de site-instellingen. Sign out everyone in de admin beëindigt alle sessies.

Bekijk deze pagina als Markdown