FastComments.com

Što je kontrola pristupa? Internal Link

With FastComments SSO kontrolom pristupa, ponekad nazvanom RBAC, korisnicima se može ograničiti pristup samo određenim stranicama ili nitima komentara. Osim toga, korisnici mogu @mention jedni druge samo u istoj grupi.

Detaljno

Možemo smjestiti Users i po potrebi Pages u grupe.

Kada su Users smješteni u grupe, i Limit Comments by SSO User Groups je omogućen u Widget Settings, tada korisnici će vidjeti samo komentare od korisnika iz svojih istih grupa i moći će @mention samo korisnike iz istih grupa.

Dodatno, Pages se mogu smjestiti u grupe, i tada korisnici mogu pristupiti komentarima samo za stranice kojima imaju pristup.

To zovemo "User-Level" groups versus "Page-Level" groups.

Dakle, koja je prava za vas?

Koristite grupe na razini korisnika ako...

  • Želite koristiti istu urlId vrijednost (URL stranice ili ID članka), ali ograničiti komentare po grupi.
  • Na primjer, želite imati grupe "New User" i "Veteran User", i one nikada ne bi trebale vidjeti međusobne komentare na istim stranicama.

Koristite grupe na razini stranice ako...

  • Vaše grupe imaju određene stranice.
  • Na primjer, korisnici u grupi "Public Pages" nikada ne bi smjeli pregledavati članke iz grupe "Top Secret".

Kako funkcionira Internal Link

FastComments Access Control radi dodjeljivanjem Pages i Users u željene grupe.

Grupa je jednostavno tekstualni identifikator, poput GREEN ili abc-123.

Users i Pages nisu ograničeni samo na jednu grupu. Ograničeni su na 100 odnosno 1000 grupa.

Pristup neovlaštenim stranicama

Ako korisnik pokuša pristupiti stranici kojoj nema pristup, vidjet će poruku o pogrešci, poput prikazane dolje:

Primjer neuspjele autorizacije
Primjer neuspjele autorizacije

Tekst poruke može se prilagoditi.

Specifikacija Internal Link

Definiranje načina kako više korisnika međusobno djeluje i njegovo testiranje je komplicirano. Ovo je sljedeća specifikacija koju slijedimo za kontrolu pristupa, koju možete koristiti za testiranje vaše implementacije:

Stranica s null group ids, korisnik s null group ids - treba imati pristup.
Stranica s null group ids, korisnik s group ids - treba imati pristup.
Stranica s group ids, korisnik s null group ids - treba imati pristup.
Stranica s group ids, korisnik s praznom listom - ne bi trebao imati pristup.
Stranica s group ids, korisnik s group ids - presjek postoji - treba imati pristup.
Stranica s group ids, korisnik s group ids - presjek ne postoji - ne bi trebao imati pristup.
Stranica s praznom listom group ids (nitko nema pristup), korisnik s null - ne bi trebao imati pristup.

SSO User A = No group ids defined (null = puni pristup).
SSO User B = No group ids defined (null = puni pristup).
A može @B.

SSO User A = No group ids defined (null = puni pristup).
SSO User B = Group ids defined.
A može @B.

SSO User A = Group ids defined.
SSO User B = No group ids defined (null = puni pristup).
A može @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A ne može @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [a, b].
A može @B.

Implementacija Internal Link

Spominjanje korisnika u drugim grupama

Ako dva korisnika pripadaju dvjema različitim skupinama grupa, i nema presjeka, neće moći @mentionati jedno drugo.

Ako korisnik ručno upiše @mention i pošalje svoj komentar, to će ostati običan tekst. Drugi korisnik neće biti označen.

Održavanje grupa

Groups se definiraju pomoću API resursa Pages i SSOUsers, redom.

API Pages može se pozvati kako bi se definirao skup grupa kojima je dopušten pristup stranici. Po zadanim postavkama sve grupe i korisnici koji ne pripadaju niti jednoj grupi imaju pristup.

Slično tome, API SSOUsers može se pozvati za definiranje grupa povezanih sa svakim korisnikom.

Za oba resursa ne postoje ograničenja kada se grupe mogu postaviti ili ažurirati.

Ako je jedini cilj ograničiti da se korisnici međusobno @mentionaju, tada se Pages ne moraju uzimati u obzir.

Napomena!

Definiranje i ažuriranje SSO korisničkih grupa ne zahtijeva korištenje API-ja, već se može automatski ažurirati definiranjem group ids u SSO payloadu koji se prosljeđuje comment widgetu. Međutim, za velike popise grupa to se ne preporučuje jer bi korisnik morao poslati ovaj payload pri svakom učitavanju stranice.