Databases beveiligen > Privilegesets maken en bewerken > Privileges voor toegang tot records bewerken
 
Privileges voor toegang tot records bewerken
Met privilegesets kunt u toegang tot records in een bestand beperken. Voor een bestand kunt u de volgende privileges instellen:
Privileges voor alle tabellen: u kunt instellen of een privilegeset toestaat dat in alle tabellen van een bestand records worden gemaakt, bewerkt of verwijderd.
Aangepaste privileges voor individuele tabellen: u kunt beperkingen voor toegang tot records per tabel instellen. U kunt met de privilegeset bijvoorbeeld de volgende handelingen beperken:
Alle records in elke tabel weergeven, bewerken, maken of verwijderen.
Bepaalde records in elke tabel weergeven, bewerken en verwijderen. De privileges worden beperkt op basis van berekeningen die voor elke record een logische waarde als resultaat geven. Wanneer een berekening de waarde true (waar) als resultaat geeft, wordt toegang verkregen voor de desbetreffende activiteit (bijvoorbeeld: de record weergeven). Wanneer de berekening de waarde false (onwaar) als resultaat geeft, wordt toegang voor die activiteit geweigerd.
Toegang krijgen tot bepaalde velden in elke tabel, of die velden wijzigen. Wanneer toegang tot een of meer velden beperkt is in een tabel die gewoonlijk zichtbaar is, wordt voor de gebruiker de tekst <Geen toegang> weergegeven in plaats van de veldgegevens.
U kunt privileges voor toegang tot records alleen instellen voor tabellen die in het huidige bestand zijn gedefinieerd. Als het bestand relaties met tabellen in andere bestanden bevat die u wilt beveiligen, dient u accounts en privilegesets in de andere bestanden te maken om die tabellen te beveiligen. Raadpleeg Accounts, privilegesets en uitgebreide privileges.
Zo bewerkt u privileges voor toegang tot records voor alle tabellen:
1. Begin een nieuwe of bestaande privilegeset te bewerken in het dialoogvenster Privilegeset bewerken.
Raadpleeg Privilegesets maken en bewerken.
2. Kies een optie bij Records in het onderdeel Gegevenstoegang en -ontwerp.
 
Als u de privilegeset wilt bewerken met dit doel
Kies
Toestaan dat records in alle tabellen worden gemaakt, bewerkt en verwijderd
Maken, bewerken en verwijderen in alle tabellen
Toestaan dat records in alle tabellen alleen worden gemaakt en bewerkt (records kunnen niet worden verwijderd)
Maken en bewerken in alle tabellen
Toestaan dat records in alle tabellen alleen worden weergeven (records kunnen niet worden gemaakt, bewerkt of verwijderd)
Alleen weergeven in alle tabellen
Weigeren dat toegang wordt gekregen tot records in alle tabellen
Alles - geen toegang
3. Klik achtereenvolgens op OK en op OK in het dialoogvenster Beveiliging beheren.
Of raadpleeg Accounts maken en bewerken om de privilegeset aan één of meerdere accounts toe te wijzen.
Zo bewerkt u privileges voor toegang tot records voor individuele tabellen:
1. Begin een nieuwe of bestaande privilegeset te bewerken in het dialoogvenster Privilegeset bewerken.
Raadpleeg Privilegesets maken en bewerken.
2. Kies Eigen privileges bij Records in het onderdeel Gegevenstoegang en -ontwerp.
3. Selecteer in het dialoogvenster Privileges voor eigen record een of meer tabellen waarvoor u aangepaste privileges wilt bewerken. (Of selecteer Willekeurige nieuwe tabel om privileges in te stellen voor elke tabel die later wordt gemaakt.)
4. Als u aangepaste privileges wilt instellen voor het weergeven, maken en verwijderen van records, kiest u een van de volgende opties in de lijsten Weergeven, Bewerken, Maken en Verwijderen in het gebied Set privileges:
 
Kies
Om dit te doen
Ja
Het privilege toestaan (records weergeven, bewerken, maken of verwijderen).
Beperkt (beschikbaar wanneer slechts één tabel is geselecteerd)
Het privilege toestaan of weigeren (records weergeven, bewerken en verwijderen) voor bepaalde records in de tabel.
Voer in het dialoogvenster Berekening opgeven een berekening in en klik op OK. Raadpleeg Een formule invoeren voor de beperking van toegang op recordniveau hieronder.
Nee
Het privilege weigeren (records weergeven, bewerken, maken of verwijderen).
Opmerking  Vermijd de aanmaak van inconsistente combinaties van de privileges voor weergeven, bewerken, maken en verwijderen. Zo wilt u mogelijk niet toestaan dat gebruikers records verwijderen die ze niet kunnen weergeven.
5. Als u toegang of wijziging van bepaalde velden in een tabel wilt beperken, gaat u naar de volgende stap. Klik anders op OK en ga verder met stap 9.
6. Selecteer de tabel die de velden bevat waarvoor u toegang wilt beperken. Kies vervolgens Beperkt bij Veldtoegang.
7. Selecteer in het dialoogvenster Privileges voor eigen veld elk veld waarvoor u de toegang wilt beperken (of selecteer Willekeurig nieuw veld om aangepaste privileges in te stellen voor elk tabel die later wordt gemaakt). Kies vervolgens één van de volgende opties:
 
Kies
Om dit te doen
Wijzigbaar
Toestaan dat de veldgegevens worden weergegeven en bewerkt.
Alleen weergeven
Toestaan dat de veldgegevens worden weergegeven. (De veldgegevens kunnen niet worden bewerkt.)
Geen toegang
Toegang tot het veld weigeren.
Opmerking  Wanneer toegang tot een of meer velden wordt geweigerd in een tabel die gewoonlijk zichtbaar is, wordt voor de gebruiker de tekst <Geen toegang> weergegeven in de plaats van de veldgegevens.
8. Klik tweemaal op OK.
Het dialoogvenster Privilegeset bewerken verschijnt.
9. Klik achtereenvolgens op OK en op OK in het dialoogvenster Beveiliging beheren.
Opmerkingen 
Gebruikers die bepaalde records niet kunnen weergeven, kunnen wel door de records bladeren, maar voor deze gebruikers verschijnt de tekst <Geen toegang> in plaats van de veldgegevens in elke record.
Door toegang tot records, velden en tabellen in een bestand te beperken, beïnvloedt u verscheidene functies in FileMaker Pro. In de volgende tabel vindt u een overzicht van de effecten voor bepaalde functies.
 
Functie
Effect van beperkte gegevenstoegang
Opzoeken en Opnieuw opzoeken
Opzoeken en Opnieuw opzoeken zijn gedefinieerd op basis van drie componenten, die door toegangsprivileges kunnen worden beïnvloed:
Aan de vergelijkingsvelden die in de relatie worden gebruikt, moeten minimaal weergaveprivileges zijn toegewezen. Bovendien wordt geen zoekopdracht uitgevoerd voor records die niet in zowel de bron- als doeltabellen kunnen worden weergegeven, omdat in deze omstandigheden geen vergelijkingen mogelijk zijn. Dit geldt zowel voor de eerste gerelateerde record die aan de criteria voldoet, als voor andere records waarmee de eerstvolgende hogere of lagere waarde wordt gekopieerd.
Aan het bronveld voor een opzoekdefinitie moeten minimaal weergaveprivileges zijn toegewezen.
Aan het doelveld voor een opzoekdefinitie moeten bewerkingsprivileges zijn toegewezen.
In FileMaker Pro wordt geen foutbericht weergegeven als een opzoekopdracht bepaalde records negeert als gevolg van beperkingen op toegangsprivileges.
Toegang tot gerelateerde gegevens
Aan beide vergelijkingsvelden in een relatie moeten minimaal weergaveprivileges zijn toegewezen opdat de relatie correct functioneert. Aan alle gerelateerde velden die u wilt weergeven op basis van de vergelijkingsvelden, moeten minimaal weergaveprivileges zijn toegewezen.
Zoeken
De gevonden reeks wordt altijd gefilterd zodat alleen de records worden weergegeven waaraan minimaal weergaveprivileges zijn toegewezen. Een beperking van de toegangsprivileges heeft ook gevolgen voor de resultaten van de functie Get (GevondenTelling).
Wanneer een invoerlijst is gebaseerd op de inhoud van een veld en weergaveprivileges voor het veld niet zijn toegestaan, bevat de invoerlijst geen waarden. Hierdoor wordt vermeden dat gebruikers per ongeluk toegang krijgen tot vertrouwelijke gegevens. De resultaten van de functie ValueListItems zijn tevens verborgen wanneer toegang is beperkt.
De resultaten die zijn weergegeven in de resumévelden en berekende velden die meerdere records resumeren, sluiten gegevens uit van records waarvoor weergaveprivileges niet zijn toegestaan.
Zoeken/vervangen, Inhoud vervangen en spellingcontrole
Een gebruiker kan met deze functies alleen gegevens wijzigen in:
records met bewerkingsprivileges
velden die u kunt wijzigen.
Scripts
U kunt een optie instellen zodat een script met privileges voor volledige toegang wordt uitgevoerd, waardoor een script bewerkingen kan uitvoeren die een gebruiker met beperkte privileges gewoonlijk niet kan uitvoeren. Als u deze optie niet inschakelt, mislukken alle scriptstappen die proberen om toegang te krijgen tot gegevens met toegangsbeperkingen en ze proberen te wijzigen. Raadpleeg Scripts maken en bewerken.
Apple Events
Privileges voor gegevenstoegang beïnvloeden of een gebruiker gegevens met Apple Events kan ophalen, instellen en verwijderen. Bepaalde Apple Event-opdrachten kunnen mislukken als de gebruiker niet de juiste toegangsprivileges heeft.
Een formule invoeren voor de beperking van toegang op recordniveau
Als u privileges voor het weergeven, bewerken en verwijderen van records wilt toestaan of weigeren voor bepaalde records in een tabel, dient u een logische berekening op te geven die bepaalt of het privilege is toegestaan. Voor elke record in de database is toegang toegestaan wanneer de berekening de waarde true (waar) of een andere waarde dan nul als resultaat geeft. De toegang wordt geweigerd als de berekening de waarde false (onwaar) of nul als resultaat geeft. Hier vindt u twee voorbeelden:
Toegang beperken tot alleen de records die met de huidige account zijn gemaakt: Definieer een tekstveld met de naam Record_gemaakt_door en stel de optie voor automatisch invoeren in voor het veld zodat de accountnaam automatisch wordt ingevoerd wanneer de record wordt gemaakt. (Raadpleeg Automatische gegevensinvoer definiëren.) Gebruik vervolgens de volgende berekening wanneer u aangepaste privileges definieert voor toegang tot records:
Record_gemaakt_door = Get (AccountNaam)
De gebruiker heeft alleen bladertoegang tot records waarvoor de bovenstaande berekening de waarde true (waar) als resultaat geeft.
Toegang beperken tot alleen de records die op de huidige datum zijn gemaakt: Definieer een datumveld met de naam Record_gemaakt_op en stel de optie voor automatisch invoeren in voor het veld zodat de aanmaakdatum automatisch wordt ingevoerd wanneer de record is gemaakt. (Raadpleeg Automatische gegevensinvoer definiëren.) Gebruik vervolgens de volgende berekening wanneer u aangepaste privileges definieert voor toegang tot records:
Record_gemaakt_op = Get (HuidigeDatum)
De gebruiker heeft alleen bladertoegang tot records waarvoor de bovenstaande berekening de waarde true (waar) als resultaat geeft.
Tip  Als u een berekening opgeeft zodat het weergeven van bepaalde records niet is toegestaan, dient u in de meeste gevallen dezelfde berekening te gebruiken wanneer u het bewerken en verwijderen van dezelfde typen records wilt weigeren. Anders kunt u per ongeluk toestaan dat gebruikers records kunnen bewerken of verwijderen die ze niet kunnen weergeven.
Opmerkingen 
De logische berekening die privileges voor de toegang tot records bepaalt, kan onverwachte resultaten opleveren, in het bijzonder als deze is gebaseerd op een door de gebruiker te bewerken veld. Het is bijvoorbeeld mogelijk dat een gebruiker met toegangsprivileges voor een beperkt aantal records zichzelf per ongeluk toegang tot een record onmogelijk maakt door deze te bewerken. De gebruiker kan in de inhoud van een record een wijziging maken die het resultaat van de logische berekening voor de toegang tot de record wijzigt zodat de berekening de waarde false (onwaar) als resultaat geeft. Vervolgens kan de gebruiker de record niet meer weergeven, bewerken of verwijderen zodra hij of zij die record afsluit.
Omdat de wijzigingen worden vastgelegd zodra een gebruiker een record afsluit, kan een gebruiker die dergelijke wijzigingen maakt, niet terugkeren naar de record. (In de meeste gevallen dient u berekeningen voor de toegang tot records te baseren op velden die niet rechtstreeks door gebruikers kunnen worden bewerkt, zoals automatisch ingevoerde velden die accountnamen, aanmaakdatums en wijzigingsdatums bevatten.)
Als daarbij het bestand wordt samengebruikt en de logische berekening die recordtoegangsprivileges bepaalt een of meer globaalveldenbevat, kunt u de netwerkprestaties verbeteren door enkele globaalvelden naar een aparte tabel te verplaatsen. Raadpleeg de opmerkingen in Globaalvelden definiëren (velden met globale opslag).
Om het gebruik van meerdere vensters met elk hun eigen gevonden reeks volledig te ondersteunen, zijn resuméwaarden in de gevonden reeks opgenomen. Een record kan in meerdere vensters verschijnen en elk venster heeft zijn eigen gevonden reeks en sorteervolgorde. Om die redenen moet u privilegeberekeningen niet baseren op resumé- of Get-functies die steunen op waarden die een bepaalde gevonden reeks gebruiken.