Berechtigunen
BISO verwendet ein Berechtigungskonzept, ähnlich den Unix-Rechten, um den Zugriff auf die Applikation und die Daten zu steuern. Jeder Datensatz-Record hat folgende Felder, welche zur Berechtigungsprüfung herangezogen werden:
- user_id: zeigt auf den Ersteller-Benutzer ("Owner")
- group_id: zeigt auf die Haupt-Gruppe des Ersteller-Benutzers (Haupt-Gruppe)
- group_mod: Berechtigungen der Gruppe (0: kein Zugriff, 4: Lesezugriff, 6: Schreibzugriff)
- world_mod: Berechtigungen für andere (nicht-Owner, nicht-Gruppe, 0: kein Zugriff, 4: Lesezugriff, 6: Schreibzugriff)
Diese Struktur ermöglicht ausgefeilte Sicht- und Schreibbarkeitsregelungen von Datensätzen: Die Zugehörigkeit von Benutzern zu
Gruppen wird folgendermassen abgebildet:

Beim Anlegen eines neuen Records werden folgende Berechtigungen auf dem Record gesetzt:
- als Owner (user_id) wird der Benutzer gesetzt
- als Gruppe (group_id) wird die Owner-Gruppe (owner_group_id) des Benutzers gesetzt
- als Gruppenberechtigung (group_mod) wird die Owner-Gruppen-Berechtigung des Benutzers (owner_group_initial_mode) gesetzt
- als Berechtigung für Andere (world_mod) wird die Andere-Berechtigung des Benutzers (world_initial_mode) gesetzt
Da ein Benutzer Mitglied von mehreren Gruppen sein kann (N:M-Entität: BenutzerGruppe), können ausgefeilte Berechtigunskonzepte (Analog Unix-File-Berechtigungen) erstellt werden.