Permissies
Frappes permissiemodel is rolgebaseerd, met optionele overrides op recordniveau. Doe dit vroeg goed — permissies achteraf aanpassen op een live site is pijnlijk.
De drie lagen
| Laag | Granulariteit | Plek |
|---|---|---|
| Role Permissions | Per DocType per rol | Role Permissions Manager |
| User Permissions | Beperk een gebruiker tot records gekoppeld aan specifieke masterwaarden | User → User Permissions |
| Share | Eenmalige per-document toekenning | Document → Menu → Share |
Role Permissions
Open Role Permissions Manager, kies een DocType en stel per rol in: read, write, create, submit, cancel, delete, plus levelgebaseerd velden verbergen. Frappe combineert permissies over alle rollen — de meest toegestane wint.
User Permissions
Stel: gebruiker alice@x.com mag alleen Verkoopfacturen van Klant A zien. U wijzigt niet de rol — u voegt een User Permission toe: Customer = A. Frappe filtert dan klant-gelinkte documenten server-side. Combineerbaar (alice kan meerdere klanten hebben).
Permission Levels (kolommen verbergen)
Elk veld heeft een permlevel (standaard 0). Rollen kunnen per level toegestaan/geweigerd worden. Gebruik dit om gevoelige velden (kostprijs, salaris) voor bepaalde rollen te verbergen, terwijl het document zichtbaar blijft.
Sharing
Voor een eenmalige uitzondering — "laat Bob deze ene Verkoopfactuur zien" — gebruik Share vanuit het documentmenu. Lichter dan een rol maken; niet voor systemisch gebruik.
Permission Query Conditions (ontwikkelaar)
Voor dynamische regels ("zie alleen documenten die u zelf maakte" of "alleen records van uw regio") registreren apps een permission_query_conditions hook die een SQL-fragment retourneert. Server-side filteren, niet alleen UI verbergen.