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 accounttoegangsinvoeren en privilegesets in de andere bestanden te maken om die tabellen te beveiligen. Raadpleeg Accounts, privilegesets en uitgebreide privileges.
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 |
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.
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 |
•Gebruikers die bepaalde records niet kunnen bekijken, kunnen wel door de records bladeren, maar ze krijgen de tekst <Geen toegang>
te zien in plaats van de veldgegevens in elke record.
•Als u de toegang tot records, velden en tabellen in een bestand beperkt, worden verscheidene functies van FileMaker-clients beïnvloed. 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. FileMaker-clients geven geen foutbericht weer als een opzoekopdracht bepaalde records negeert vanwege beperkingen met betrekking tot 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 | |
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. |
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.
•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.