
Sprog 🇩🇰 Dansk
Baggrund
Implementering
Hvad er adgangskontrol? 
Med FastComments SSO Access Control, nogle gange kaldet RBAC, kan brugere begrænses til kun at få adgang til bestemte sider eller kommentarsamtaler. Derudover kan brugere kun @mention hinanden i samme gruppe.
Detaljeret
Vi kan placere Users og valgfrit Pages i grupper.
Når Users placeres i grupper, og Limit Comments by SSO User Groups er aktiveret i Widget-indstillinger, så vil brugere
kun se kommentarer fra brugere i deres samme grupper og vil kun kunne @mention brugere i de samme grupper.
Derudover kan Pages placeres i grupper, og så kan brugere kun få adgang til kommentarer for sider, de har adgang til.
Vi kalder dette "Brugerniveau"-grupper kontra "Sideniveau"-grupper.
Så hvilken passer til dig?
Brug Brugerniveau-grupper hvis...
- Du ønsker at bruge den samme
urlIdværdi (side-URL eller artikel-ID), men begrænse kommentarer efter gruppe. - For eksempel ønsker du at have "New User" og "Veteran User" grupper, og de skal aldrig se hinandens kommentarer på de samme sider.
Brug Sideniveau-grupper hvis...
- Dine grupper har specifikke sider.
- For eksempel bør brugere i gruppen "Public Pages" aldrig kunne se artiklerne i "Top Secret" artiklerne.
Hvordan det virker 
FastComments adgangskontrol fungerer ved at tildele Pages og Users til ønskede grupper.
En gruppe er blot en strengidentifikator, som GREEN eller abc-123.
Users og Pages er ikke begrænset til kun én gruppe. De er begrænset til henholdsvis 100 og 1000 grupper.
Adgang til uautoriserede sider
Hvis en bruger forsøger at få adgang til en side, de ikke har adgang til, vil de se en fejlmeddelelse som nedenfor:
Beskedteksten kan tilpasses.
Specifikationen 
At definere, hvordan flere brugere interagerer, og teste det, er kompliceret. Her er den følgende specifikation, som vi følger for adgangskontrol, som du kan bruge til at teste din implementering:
Side med null gruppe-id'er, bruger med null gruppe-id'er - bør have adgang.
Side med null gruppe-id'er, bruger med gruppe-id'er - bør have adgang.
Side med gruppe-id'er, bruger med null gruppe-id'er - bør have adgang.
Side med gruppe-id'er, bruger med tom liste - bør IKKE have adgang.
Side med gruppe-id'er, bruger med gruppe-id'er - fællesmængde findes - bør have adgang.
Side med gruppe-id'er, bruger med gruppe-id'er - ingen fællesmængde - bør IKKE have adgang.
Side med tom liste af gruppe-id'er (ingen har adgang), bruger med null - bør IKKE have adgang.
SSO-bruger A = Ingen gruppe-id'er defineret (null = fuld adgang).
SSO-bruger B = Ingen gruppe-id'er defineret (null = fuld adgang).
A kan @B.
SSO-bruger A = Ingen gruppe-id'er defineret (null = fuld adgang).
SSO-bruger B = Gruppe-id'er defineret.
A kan @B.
SSO-bruger A = Gruppe-id'er defineret.
SSO-bruger B = Ingen gruppe-id'er defineret (null = fuld adgang).
A kan @B.
SSO-bruger A = Gruppe-id'er = [a].
SSO-bruger B = Gruppe-id'er = [b].
A kan IKKE @B.
SSO-bruger A = Gruppe-id'er = [a].
SSO-bruger B = Gruppe-id'er = [a, b].
A kan @B.Implementering 
At nævne brugere i andre grupper
Hvis to brugere tilhører to forskellige sæt af grupper, og der ikke er nogen indbyrdes overlapning, vil de ikke kunne @mention hinanden.
Hvis en bruger manuelt skriver en @mention og indsender sin kommentar, vil den forblive som almindelig tekst. Den anden bruger vil ikke blive tagget.
Vedligeholdelse af grupperne
Groups defineres ved hjælp af henholdsvis Pages- og SSOUsers-API-ressourcerne.
Pages-API'et kan påkaldes for at definere det sæt af grupper, der har tilladelse til at få adgang til siden. Som standard har alle grupper, og brugere der ikke\ntilhører en gruppe, adgang.
På samme måde kan SSOUsers-API'et påkaldes for at definere de grupper, der er tilknyttet hver bruger.
For begge ressourcer er der ingen begrænsninger for, hvornår grupperne kan indstilles eller opdateres.
Hvis man kun ønsker at begrænse brugernes mulighed for at @mention hinanden, behøver Pages ikke at blive taget i betragtning.
Bemærk!
Definering og opdatering af SSO-brugergrupper kræver ikke brug af API'et, og kan i stedet opdateres automatisk ved at definere gruppe-id'er i SSO-payloadet, der sendes til kommentar-widget'en. Dog anbefales dette ikke for store lister af grupper, da brugeren\nville skulle indsende dette payload ved hver sideindlæsning.
Eksempler på API-opkald 
Her gennemgår vi, hvordan man kalder FastComments API'et for at opsætte adgangskontrol.
Før vi begynder, bemærk, at vi ikke behøver eksplicit at oprette en Group-struktur. Grupper er simpelthen identifikatorer
der føjes til Users og Pages. At tilføje en gruppe til en bruger eller side automatisk "opretter" gruppen.
Først opretter vi to brugere, User A og User B, vi starter dem i Group X:


Lad os nu oprette en Page. Vi kalder den vores Confidential Page, og indtil videre vil ingen af disse brugere have adgang til den, da den vil være i gruppen CONFIDENTIAL:

Bruger A og B har i øjeblikket IKKE adgang til den nye side. Da de dog er i samme gruppe, GROUP-X, kan de @mention hinanden.
Lad os opdatere User B, så vedkommende nu kan få adgang til siden:

User B tilhører nu begge grupper. Vores brugere kan stadig @mention hinanden, men kun User B kan se vores fortrolige side.
Lad os gøre, så User B kun kan se den fortrolige side:

Nu kan de se den fortrolige side, men ingen af vores brugere kan @mention hinanden, da de er i forskellige grupper.
Dog vil enhver bruger, der ikke er en del af adgangskontrollen, kunne få adgang til vores side. For at forhindre dette, sørg for, at ingen SSO-brugere har deres groupIds sat til null. For eksempel, lad os oprette User C, som har adgang til alt:

Ved at sætte groupIds til null angiver vi, at de ikke er begrænset af adgangskontrol.
Lad os nu oprette en side, som alle har adgang til:

Ved at sætte accessibleByGroupIds til null angiver vi, at denne Page ikke er kontrolleret via adgangskontrol, og begge brugere kan få adgang til den.
Dette fuldender vores API-gennemgang af adgangskontrol.