
Dil 🇹🇷 Türkçe
Arka Plan
Uygulama
Erişim Kontrolü nedir? 
FastComments SSO Erişim Kontrolü ile, bazen RBAC olarak da adlandırılır, kullanıcılara yalnızca belirli sayfalara veya yorum dizilerine erişme kısıtlaması getirilebilir. Ayrıca kullanıcılar yalnızca aynı gruptaki diğer kullanıcıları @mention edebilir.
Ayrıntılar
Users ve isteğe bağlı olarak Pages'i gruplara yerleştirebiliriz.
Users gruplara yerleştirildiğinde ve Widget Ayarlarında Limit Comments by SSO User Groups etkinleştirildiğinde, kullanıcılar yalnızca kendi gruplarındaki kullanıcıların yorumlarını görecek ve yalnızca aynı gruptaki kullanıcıları @mention edebileceklerdir.
Ek olarak, Pages gruplara yerleştirilebilir ve bu durumda kullanıcılar yalnızca erişime sahip oldukları sayfaların yorumlarına erişebilirler.
Buna "User-Level" grupları ile "Page-Level" grupları olarak atıfta bulunuyoruz.
Peki hangisi sizin için uygun?
Kullanıcı Düzeyi Gruplarını kullanın eğer...
- Aynı
urlIddeğerini (sayfa URL'si veya makale ID'si) kullanmak istiyorsunuz, ancak yorumları gruba göre kısıtlamak istiyorsunuz. - Örneğin, "New User" ve "Veteran User" gruplarınız olsun ve aynı sayfalarda birbirlerinin yorumlarını hiçbir zaman görmemeliler.
Sayfa Düzeyi Gruplarını kullanın eğer...
- Gruplarınızın belirli sayfaları var.
- Örneğin, "Public Pages" grubundaki kullanıcılar "Top Secret" makalelerini asla görmemelidir.
Nasıl Çalışır 
FastComments Erişim Denetimi, Pages ve Users öğelerini istenen gruplara atayarak çalışır.
A group is simply a string identifier, like GREEN or abc-123.
Users ve Pages yalnızca tek bir grupla sınırlı değildir. Sırasıyla 100 ve 1000 grupla sınırlıdır.
Yetkisiz Sayfalara Erişim
Bir kullanıcı erişimi olmayan bir sayfaya erişmeye çalışırsa, aşağıdaki gibi bir hata mesajı görür:
Mesaj metni özelleştirilebilir.
Spesifikasyon 
Birden fazla kullanıcının nasıl etkileşime girdiğini tanımlamak ve bunu test etmek karmaşıktır. İşte erişim kontrolü için izlediğimiz aşağıdaki spesifikasyon; uygulamanızı test etmek için kullanabilirsiniz:
Sayfa null group ids ile, kullanıcı null group ids ile - erişim hakkı olmalı.
Sayfa null group ids ile, kullanıcı group ids ile - erişim hakkı olmalı.
Sayfa group ids ile, kullanıcı null group ids ile - erişim hakkı olmalı.
Sayfa group ids ile, kullanıcı boş liste ile - erişim hakkı OLMAMALI.
Sayfa group ids ile, kullanıcı group ids ile - kesişim mevcut - erişim hakkı olmalı.
Sayfa group ids ile, kullanıcı group ids ile - kesişim yok - erişim hakkı OLMAMALI.
Sayfa group ids'in boş listesi (kimsenin erişimi yok), kullanıcı null - erişim hakkı OLMAMALI.
SSO User A = Group ids tanımlı değil (null = tam erişim).
SSO User B = Group ids tanımlı değil (null = tam erişim).
A, B'yi @ ile etiketleyebilir.
SSO User A = Group ids tanımlı değil (null = tam erişim).
SSO User B = Group ids tanımlı.
A, B'yi @ ile etiketleyebilir.
SSO User A = Group ids tanımlı.
SSO User B = Group ids tanımlı değil (null = tam erişim).
A, B'yi @ ile etiketleyebilir.
SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A, B'yi @ ile etiketleyemez.
SSO User A = Group ids = [a].
SSO User B = Group ids = [a, b].
A, B'yi @ ile etiketleyebilir.
Uygulama 
Diğer Gruplardaki Kullanıcıları @mention Etme
Eğer iki kullanıcı iki farklı grup kümesine aitse ve kesişimleri yoksa, birbirlerini @mention yapamazlar.
Bir kullanıcı manuel olarak bir @mention yazıp yorumunu gönderirse, bu düz metin olarak kalır. Diğer kullanıcı etiketlenmez.
Grupları Yönetme
Groups, sırasıyla Pages ve SSOUsers API kaynakları kullanılarak tanımlanır.
Pages API'si, sayfaya erişmesine izin verilen grup kümesini tanımlamak için çağrılabilir. Varsayılan olarak tüm grupların ve herhangi bir gruba ait
olmayan kullanıcıların erişimi vardır.
Benzer şekilde, SSOUsers API'si her kullanıcıyla ilişkili grupları tanımlamak için çağrılabilir.
Her iki kaynak için de grupların ne zaman ayarlanabileceği veya güncellenebileceği konusunda herhangi bir kısıtlama yoktur.
Eğer amaç yalnızca kullanıcıların birbirlerini @mention yapmasını sınırlamaksa, Pages dikkate alınmak zorunda değildir.
Not!
SSO kullanıcı gruplarını tanımlamak ve güncellemek API kullanmayı gerektirmez; bunun yerine yorum bileşenine geçirilen SSO yükünde grup kimliklerini tanımlayarak otomatik olarak güncellenebilir. Ancak, grup listeleri büyükse bu önerilmez çünkü kullanıcı her sayfa yüklemesi için bu yükü göndermek zorunda kalır.
Örnek API Çağrıları 
Burada erişim kontrolünü ayarlamak için FastComments API'sini nasıl çağıracağımızı adım adım göstereceğiz.
Başlamadan önce, Group yapısını açıkça oluşturmamız gerekmediğini unutmayın. Gruplar sadece Users ve Pages'e eklenen tanımlayıcılardır. Bir kullanıcıya veya sayfaya grup eklemek, grubu otomatik olarak "oluşturur".
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:

Kullanıcı A ve B şu anda yeni sayfaya ERİŞEMİYORLAR. Ancak aynı grup GROUP-X içinde oldukları için birbirlerini @mention edebilirler.
Let's update User B so they can now access the page:

User B artık her iki gruba ait. Kullanıcılarımız hâlâ birbirlerini @mention edebilir, ancak yalnızca User B gizli sayfamızı görüntüleyebilir.
Let's make it so User B can only view the confidential page:

Şimdi gizli sayfayı görüntüleyebiliyorlar, ancak kullanıcılarımızın hiçbiri birbirini @mention edemez; çünkü farklı gruplardalar.
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:

groupIds'i null olarak ayarlayarak, erişim kontrolü tarafından kısıtlanmadıklarını belirtiriz.
Now, let's create a page that everyone has access to:

accessibleByGroupIds'i null olarak ayarlayarak, bu Page'in erişim kontrolü ile yönetilmediğini ve her iki kullanıcının da ona erişebildiğini belirtiriz.
This completes our API walk-through for Access Control.