
Γλώσσα 🇨🇾 Ελληνικά (Κύπρος)
Υπόβαθρο
Υλοποίηση
Τι είναι ο Έλεγχος Πρόσβασης; 
Με τον Έλεγχο Πρόσβασης SSO του FastComments, που μερικές φορές αναφέρεται ως RBAC, οι χρήστες μπορούν να περιοριστούν ώστε να έχουν πρόσβαση μόνο σε συγκεκριμένες σελίδες ή νήματα σχολίων. Επιπλέον, οι χρήστες μπορούν να @mention ο ένας τον άλλον μόνο μέσα στην ίδια ομάδα.
Λεπτομέρειες
Μπορούμε να τοποθετήσουμε Users και προαιρετικά Pages σε ομάδες.
Όταν οι Users τοποθετούνται σε ομάδες, και η επιλογή Limit Comments by SSO User Groups είναι ενεργοποιημένη στις Ρυθμίσεις Widget, τότε οι χρήστες
θα βλέπουν μόνο σχόλια από χρήστες στις ίδιες ομάδες και θα μπορούν να @mention μόνο χρήστες στις ίδιες ομάδες.
Επιπλέον, οι Pages μπορούν να τοποθετηθούν σε ομάδες, και τότε οι χρήστες μπορούν να έχουν πρόσβαση μόνο σε σχόλια για σελίδες στις οποίες έχουν πρόσβαση.
Το αποκαλούμε αυτό "User-Level" ομάδες σε αντίθεση με "Page-Level" ομάδες.
Λοιπόν, ποιο είναι κατάλληλο για εσάς;
Χρησιμοποιήστε Ομάδες Επιπέδου Χρήστη εάν...
- Θέλετε να χρησιμοποιήσετε την ίδια τιμή
urlId(διεύθυνση URL σελίδας, ή αναγνωριστικό άρθρου), αλλά να περιορίσετε τα σχόλια ανά ομάδα. - Για παράδειγμα, θέλετε να έχετε ομάδες "New User" και "Veteran User", και να μην βλέπουν ποτέ τα σχόλια ο ένας του άλλου στην ίδια σελίδα.
Χρησιμοποιήστε Ομάδες Επιπέδου Σελίδας εάν...
- Οι ομάδες σας έχουν συγκεκριμένες σελίδες.
- Για παράδειγμα, οι χρήστες στην ομάδα "Public Pages" δεν θα πρέπει ποτέ να βλέπουν άρθρα στις "Top Secret" σελίδες.
Πώς Λειτουργεί 
Το σύστημα Ελέγχου Πρόσβασης του FastComments λειτουργεί με την ανάθεση των Pages και Users στις επιθυμητές ομάδες.
Μια ομάδα είναι απλώς ένας αναγνωριστής συμβολοσειράς, όπως GREEN ή abc-123.
Users και Pages δεν περιορίζονται σε μία μόνο ομάδα. Περιορίζονται σε 100 και 1000 ομάδες, αντίστοιχα.
Πρόσβαση σε Μη Εξουσιοδοτημένες Σελίδες
Εάν ένας χρήστης προσπαθήσει να ανοίξει μια σελίδα στην οποία δεν έχει πρόσβαση, θα δει ένα μήνυμα σφάλματος, όπως παρακάτω:
Το κείμενο του μηνύματος μπορεί να προσαρμοστεί.
Η Προδιαγραφή 
Ορισμός του τρόπου αλληλεπίδρασης πολλών χρηστών και ο έλεγχος αυτού είναι περίπλοκος. Ακολουθεί η προδιαγραφή που ακολουθούμε για τον έλεγχο πρόσβασης, την οποία μπορείτε να χρησιμοποιήσετε για να δοκιμάσετε την υλοποίησή σας:
Σελίδα με null group ids, χρήστης με null group ids - θα πρέπει να έχει πρόσβαση.
Σελίδα με null group ids, χρήστης με group ids - θα πρέπει να έχει πρόσβαση.
Σελίδα με group ids, χρήστης με null group ids - θα πρέπει να έχει πρόσβαση.
Σελίδα με group ids, χρήστης με κενή λίστα - ΔΕΝ θα πρέπει να έχει πρόσβαση.
Σελίδα με group ids, χρήστης με group ids - υπάρχει τομή - θα πρέπει να έχει πρόσβαση.
Σελίδα με group ids, χρήστης με group ids - δεν υπάρχει τομή - ΔΕΝ θα πρέπει να έχει πρόσβαση.
Σελίδα με κενή λίστα group ids (κανένας δεν έχει πρόσβαση), χρήστης με null - ΔΕΝ θα πρέπει να έχει πρόσβαση.
SSO User A = Δεν έχουν οριστεί group ids (null = πλήρης πρόσβαση).
SSO User B = Δεν έχουν οριστεί group ids (null = πλήρης πρόσβαση).
A μπορεί να @B.
SSO User A = Δεν έχουν οριστεί group ids (null = πλήρης πρόσβαση).
SSO User B = Έχουν οριστεί group ids.
A μπορεί να @B.
SSO User A = Έχουν οριστεί group ids.
SSO User B = Δεν έχουν οριστεί group ids (null = πλήρης πρόσβαση).
A μπορεί να @B.
SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A ΔΕΝ μπορεί να @B.
SSO User A = Group ids = [a].
SSO User B = Group ids = [a, b].
A μπορεί να @B.
Υλοποίηση 
Αναφορά χρηστών σε άλλες ομάδες
Εάν δύο χρήστες ανήκουν σε δύο διαφορετικά σύνολα ομάδων και δεν υπάρχει κοινή ομάδα, δεν θα μπορούν να @mention ο ένας τον άλλον.
Εάν ένας χρήστης πληκτρολογήσει χειροκίνητα ένα @mention και υποβάλει το σχόλιό του, θα παραμείνει ως απλό κείμενο. Ο άλλος χρήστης δεν θα επισημανθεί.
Διαχείριση των Ομάδων
Groups ορίζονται χρησιμοποιώντας τους πόρους API Pages και SSOUsers, αντίστοιχα.
Το API Pages μπορεί να κληθεί για να ορίσει το σύνολο των ομάδων που επιτρέπεται να έχουν πρόσβαση στη σελίδα. Από προεπιλογή, όλες οι ομάδες, και χρήστες που δεν ανήκουν σε κάποια ομάδα, έχουν πρόσβαση.
Παρομοίως, το API SSOUsers μπορεί να κληθεί για να ορίσει τις ομάδες που σχετίζονται με κάθε χρήστη.
Για και τους δύο πόρους, δεν υπάρχουν περιορισμοί όσον αφορά το πότε μπορούν να οριστούν ή να ενημερωθούν οι ομάδες.
Εάν το μόνο που επιθυμείται είναι να περιοριστεί το να @mention ο ένας τον άλλο, τότε τα Pages δεν χρειάζεται να ληφθούν υπόψη.
Σημείωση!
Ο ορισμός και η ενημέρωση των ομάδων χρηστών SSO δεν απαιτεί τη χρήση του API, και μπορεί αντ' αυτού να ενημερωθεί αυτόματα ορίζοντας τα group ids στο SSO payload που περνά στο comment widget. Ωστόσο, για μεγάλες λίστες ομάδων, αυτό δεν συνίσταται καθώς ο χρήστης θα πρέπει να υποβάλει αυτό το payload για κάθε φόρτωση σελίδας.
Παραδείγματα Κλήσεων API 
Εδώ θα δούμε πώς να καλούμε το FastComments API για να ρυθμίσουμε τον έλεγχο πρόσβασης.
Πριν ξεκινήσουμε, σημειώστε ότι δεν χρειάζεται να δημιουργήσουμε ρητά μια δομή Group. Οι ομάδες είναι απλώς αναγνωριστικά
προστίθενται σε Users και Pages. Η προσθήκη μιας ομάδας σε έναν χρήστη ή σε μια σελίδα "δημιουργεί" αυτόματα την ομάδα.
First, let's create two users, User A and User B, we'll start them out in Group X:


Now let's create a Page. We'll call it our Confidential Page, and so far none of these users will have access to it as it will
be in the group CONFIDENTIAL:

Users A and B currently DO NOT have access to the new page. However, since they are in the same group, GROUP-X, they can @mention each other.
Let's update User B so they can now access the page:

User B now belongs to both groups. Our users can still @mention each other, but only User B can view our confidential page.
Let's make it so User B can only view the confidential page:

Now they can view the confidential page, but neither of our users can @mention each other, as they are in different groups.
However, any user that is not part of access control will be able to access our page. To prevent this, ensure no SSO Users have
their groupIds set to null. For example, let's create User C, which has access to everything:

By setting groupIds to null, we say they are not limited by access control.
Now, let's create a page that everyone has access to:

By setting accessibleByGroupIds to null, we say this Page is not controlled via access control, and both users can access it.
This completes our API walk-through for Access Control.