FastComments.com

Шта је контрола приступа? Internal Link

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

Detaljno

Možemo smjestiti Users i opcionalno Pages u grupe.

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

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

Ovo nazivamo "User-Level" grupama nasuprot "Page-Level" grupama.

Dakle, koja je prava za vas?

Koristite User-Level grupe ako...

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

Koristite Page-Level grupe ako...

  • Vaše grupe imaju specifične stranice.
  • Na primjer, korisnici u grupi "Javne stranice" nikada ne bi trebali vidjeti članke iz grupe "Vrlo tajno".

Како функционише Internal Link

Контрола приступа FastComments-а функционише тако што се Pages и Users додају у жељене групе.

Група је једноставно текстуални идентификатор, као што су GREEN или abc-123.

Users и Pages нису ограничени само на једну групу. Они су ограничени на 100 односно 1000 група.

Приступ неауторизованим страницама

Ако корисник покуша приступити страници којој нема приступ, видеће поруку о грешци, као у наставку:

Пример неуспеле ауторизације
Authorization Failure Example

Текст поруке се може прилагодити.

Спецификација Internal Link


Дефинисање начина на који више корисника међусобно интерагују, и тестирање тога, је компликовано. Ево следеће спецификације коју користимо за контролу приступа, коју можете користити за тестирање ваше имплементације:

Page with null group ids, user with null group ids - should have access.
Page with null group ids, user with group ids - should have access.
Page with group ids, user with null group ids - should have access.
Page with group ids, user with empty list - should NOT have access.
Page with group ids, user with group ids - intersection exists - should have access.
Page with group ids, user with group ids - intersection does not exist - should NOT have access.
Page with empty list of group ids (nobody has access), user with null - should NOT have access.

SSO User A = No group ids defined (null = full access).
SSO User B = No group ids defined (null = full access).
A can @B.

SSO User A = No group ids defined (null = full access).
SSO User B = Group ids defined.
A can @B.

SSO User A = Group ids defined.
SSO User B = No group ids defined (null = full access).
A can @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A can NOT @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [a, b].
A can @B.

Имплементација Internal Link

Означавање корисника у другим групама

Ако два корисника припадају двема различитим групама и нема прецијека, неће моћи користити @mention један према другом.

Ако корисник ручно унесе @mention и пошаље свој коментар, он ће остати обичан текст. Други корисник неће бити означен.

Одржавање група

Groups се дефинишу коришћењем API ресурса Pages и SSOUsers, редом.

Pages API се може позвати да дефинише скуп група којима је дозвољен приступ страници. По подразумеваним подешавањима, све групе и корисници који не припадају ниједној групи имају приступ.

Слично томе, SSOUsers API се може позвати да дефинише групе повезане са сваким корисником.

За оба ресурса нема ограничења када се групе могу поставити или ажурирати.

Ако је једини циљ ограничити да корисници међусобно користе @mention, онда се Pages не морају узимати у обзир.

Напомена!

Дефинисање и ажурирање SSO корисничких група не захтева коришћење API-ја, и уместо тога може се аутоматски ажурирати дефинисањем group ids у SSO payload који се прослеђује comment widget-у. Међутим, за велике листе група ово се не препоручује јер би корисник морао да пошаље тај payload при сваком учитавању странице.