FastComments.com

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

Са FastComments SSO контролом приступа, понекад називаном RBAC, корисницима се може ограничити приступ само одређеним страницама или нитима коментара. Поред тога, корисници могу @mention једни друге само у истој групи.

Детаљно

Можемо ставити Users и опционално Pages у групе.

Када се Users сместе у групе, и када је у подешавањима видгета омогућено Limit Comments by SSO User Groups, корисници ће видети само коментаре од корисника у својим истим групама и моћи ће да @mention само кориснике из истих група.

Поред тога, Pages се могу ставити у групе, и тада корисници могу приступити само коментарима за странице којима имају приступ.

Ово називамо "User-Level" групама за разлику од "Page-Level" група.

Па која од њих вам одговара?

Користите User-Level групе ако...

  • Желите да користите исти urlId вредност (URL странице, или ID чланка), али да ограничите коментаре по групи.
  • На пример, желите да имате "Нови корисник" и "Искусни корисник" групе, и да никада не виде коментаре једна друге на истим страницама.

Користите Page-Level групе ако...

  • Ваше групе имају одређене странице.
  • На пример, корисници у групи "Јавне странице" не би требало да прегледају чланке означене као "Врло тајно".

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

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

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

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

Приступ неовлашћеним страницама

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

Пример грешке при ауторизацији
Пример грешке при ауторизацији

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

Спецификација 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

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

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

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

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

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

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

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

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

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

Напомена!

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