Bu yazıda, AppMaster.io kodsuz platformunun, uygulama kullanıcıları için verilere erişme sorununu nasıl çözdüğüne bakacağız.
Kullanıcılar, Moderatörler, Yöneticiler ve diğer gereksinimler gibi roller tanıtılarak gerçekleşir. Bu çözüm, yerleşik uygulamanız içinde daha fazla esneklik sağlar ve yerleşik uygulama içindeki bilgi ve işlevsellik erişimini kontrol eder.
Makale, AppMaster.io platformunun işlevselliğine dalmak ve rollere göre verilere erişim ayarları açısından yeteneklerini görmek isteyen herkes için faydalı olacaktır.
AppMaster.io tarafından Мodule Auth
Platformumuzdaki birleştirilmiş uygulamada kayıt, Auth modülü tarafından temsil edilir ve kullanıcı grupları oluşturmanıza ve düzenlemenize ve haklarına erişmenize olanak tanır. Yetkilendirme modülü , oluşturulduğunda projeye önceden yüklenmiştir.
Kullanılabilir Yetkilendirme modülü ayarları:
Kayıt Grupları — kayıt olabilecek kullanıcı gruplarının listesi;
SignUp — uygulamaya kayıt olma özelliğini içerir;
Oturum zaman aşımı (dakika ) — Kullanıcı boştaysa geçerli kullanıcı oturumunun sona ereceği süre (dakika olarak). Varsayılan 60 dakikadır;
Başarısız oturum açma gecikmesi (ms cinsinden) — başarısız oturum açma girişimi durumunda sunucu yanıtı için gecikme süresi (ms cinsinden). Varsayılan 0 ms'dir;
E-posta onayı gerekli — etkinleştirilirse e-posta yoluyla doğrulamayı içeren bir seçenek;
Kayıtlı Kullanıcı Etkin — her kayıtlı Kullanıcı için etkin özniteliği True olarak ayarlar.
Gruplar — kullanıcı grupları oluşturmanıza ve düzenlemenize olanak tanır.
AppMaster.io, modellerle çalışmak için Veri Modeli Tasarımcısını kullanır.
Kullanıcı ve Kullanıcı Oturumu , Veri Modeli Tasarımcısında otomatik olarak oluşturulan iki modeldir. Önceden yüklenmiş veri modeli alanları değiştirilemez veya silinemez, ancak yenileri eklenebilir.
Bu modeller için iş süreçleri blokları (BP) da otomatik olarak oluşturulur.
Kullanıcı ve Kullanıcı Oturumlarıyla ilişkili otomatik oluşturulan BP'ler
- Kullanıcı Modeli
DB: Kullanıcıyı Sil — Kullanıcı nesnesini ID aracılığıyla veritabanından siler;
DB: Kullanıcıyı Güncelle — veritabanındaki girişe iletilen Kullanıcı nesnesi bloğunun tüm alanlarını sıfırlar ve bunları belirtilen değerlere göre günceller (yalnızca belirtilen alanları değiştirmek için DB: Yama Kullanıcı bloğu kullanılır);
DB: Kullanıcı Yarat — veritabanında depolar ve verilen Kullanıcı nesnesini döndürür (verilen alanlardan oluşturmak için Kullanıcı Yap bloğunu kullanın);
DB: Kullanıcıyı Geçici Olarak Sil — User nesnesindeki DeletedAt özniteliğini günceller ve veritabanında bırakır;
DB: Kullanıcıyı Toplu Silme — veri tabanından silinecek olan Kullanıcı nesnelerinin bir dizi ID'sini (id) girdi olarak alır;
fail_ids — silinmeyecek bir dizi kullanıcı kimliği;
DB: Yama Kullanıcısı — veritabanındaki Kullanıcı nesnesinin belirtilen alanlarını günceller (tüm alanları sıfırlamak için DB: Kullanıcıyı Güncelle bloğunu kullanın);
DB: Kullanıcı Ara — alanlara dayalı olarak veritabanında bir veya daha fazla Kullanıcı nesnesi bulur ve bunları döndürür;
DB: GetOne User — Kullanıcı nesnesini kimliğine göre veritabanında bulur ve döndürür;
Kullanıcıyı Genişlet — seçilen Kullanıcı nesnesinin tüm alanlarını döndürür;
Kullanıcı Yap — verilen alanlardan bellekte yeni bir Kullanıcı nesnesi oluşturur ve onu döndürür (oluşturulan nesneyi veritabanına kaydetmek için DB: Kullanıcı Oluştur bloğunu kullanın);
- Kullanıcı Oturumu Modeli
DB: Kullanıcı Oturumunu Sil — geçirilen ID ile Kullanıcı Oturumu nesnesini veritabanından kaldırır;
DB: Kullanıcı Oturumunu Güncelle — veritabanındaki giriş bloğuna iletilen Kullanıcı Oturumu nesnesinin tüm alanlarını sıfırlar ve bunları belirtilen değerlere göre günceller (yalnızca belirtilen alanları değiştirmek için DB: Kullanıcı Oturumunu Yama'yı kullanın);
DB: Kullanıcı Oturumu Oluştur — veritabanında depolar ve verilen Kullanıcı Oturumu nesnesini döndürür (belirli alanlardan oluşturmak için Kullanıcı Oturumu Oluştur bloğunu kullanın);
DB: Kullanıcı Oturumunu Geçici Olarak Sil — Kullanıcı Oturumu nesnesinin DeletedAt özniteliğini günceller ve veritabanında bırakır;
DB: Kullanıcı Oturumunu Toplu Silme — veritabanından silinecek Kullanıcı Oturumu nesnelerinin bir dizi kimliğini girdi olarak kabul eder;
fail_ids — dizi, kaldırılmayacak kimlik kümesini tanımlar;
DB: Kullanıcı Oturumunu Düzeltme — veritabanındaki Kullanıcı Oturumu nesnesinin belirtilen alanlarını günceller (tüm alanları sıfırlamak için DB: Kullanıcı Oturumunu Güncelle bloğunu kullanın);
DB: Kullanıcı Oturumunu Ara — alanlara dayalı olarak veritabanında bir veya daha fazla Kullanıcı Oturumu nesnesi bulur ve bunları döndürür;
DB: GetOne User Session — veritabanındaki Kullanıcı Oturumu nesnesini kimliğine göre bulur ve döndürür;
Kullanıcı Oturumunu Genişlet — seçilen Kullanıcı Oturumu nesnesinin tüm alanlarını döndürür;
Kullanıcı Oturumu Yap — verilen alanlardan bellekte yeni bir Kullanıcı Oturumu nesnesi oluşturur ve onu döndürür (oluşturulan nesneyi veritabanına kaydetmek için DB: Kullanıcı Oturumu Oluştur bloğunu kullanın);
- Yetkilendirme Modülü
Auth: Generate Auth Token — belirli bir uzunlukta bir yetkilendirme jetonu (Auth Token) oluşturur;
Yetkilendirme: Kayıt — yeni bir kullanıcı kaydeder;
Yetkilendirme: Yetkilendirme — Sistemde Yetkilendirme Simgesinin var olup olmadığını kontrol eder ve onunla ilişkili kullanıcıyı döndürür;
Auth: Authentification — kullanıcının oturum açma bilgilerini ve parolasını kontrol eder ve bir Auth Token döndürür;
Yetkilendirme: Oturumu Kapat — bir Yetkilendirme Simgesini kabul eder ve mevcut kullanıcı oturumunu sonlandırır;
Yetkilendirme: Geçerli kullanıcıyı al — mevcut kullanıcının verilerini döndürür;
Yetkilendirme: Kullanıcıyı gruptan kaldır — bir kullanıcıyı kimliğine göre belirtilen gruptan kaldırır (Yetkilendirme modülünün ayarlarında tanımlanmıştır);
Yetkilendirme: Gruba kullanıcı ekle — kimliğine göre (Yetkilendirme modülü ayarlarında tanımlanmıştır) belirtilen kullanıcı grubuna bir kullanıcı ekler;
Auth: Hash Password — bir parola dizesini karmaya dönüştürme;
Yetki: Parolayı Geri Yükle — kullanıcının kullanıcı adını ve yeni parolasını kabul eder, böylece onu sıfırlar;
Yetki: Parolayı Değiştir — mevcut kullanıcı parolasını yenisiyle değiştirir;
Auth: Probe Password — şifre ve hash eşleşmesinin doğrulanması;
Yetkilendirme Modülünün Uç Noktaları ve Kullanıcı ve Kullanıcı Oturumu modelleri, proje oluşturulduğunda otomatik olarak oluşturulur.
Yetkilendirme Modülü
İstek Türü | uç nokta | bağlı BP |
---|---|---|
/çıkış Yap/ | Yetki: Çıkış | |
/yetki/ | Yetki: Yetkilendirme | |
/Kayıt ol/ | Yetki: Kayıt | |
/onaylamak/ | Yetki: Kayıt | |
/kullanıcı/parola değiştir | Yetki: Şifreyi Değiştir | |
/user/restore-parola/ | Yetki: Parolayı Geri Yükle | |
/Kullanıcı profili/ | Yetki: Yetkilendirme |
kullanıcı
İstek Türü | uç nokta | bağlı BP |
---|---|---|
/Kullanıcı kimliği/ | DB: Kullanıcıyı Güncelle | |
/Kullanıcı kimliği/ | DB: Kullanıcıyı Sil | |
/Kullanıcı kimliği/ | DB: GetOne Kullanıcısı | |
/kullanıcı/ | DB: Kullanıcı Ara | |
/Kullanıcı kimliği | DB: Yama Kullanıcısı | |
/kullanıcı/ | DB: Kullanıcı Oluştur |
Kullanıcı Oturumu
İstek Türü | uç nokta | bağlı BP |
---|---|---|
/kullanıcı oturumu/:id/ | DB: Kullanıcı Oturumunu Sil | |
/kullanıcı oturumu/:id/ | DB: GetOne Kullanıcı Oturumu | |
/kullanıcı oturumu/ | DB: Kullanıcı Oturumunu Ara | |
/kullanıcı oturumu/:id/ | DB: Yama Kullanıcı Oturumu | |
/kullanıcı oturumu/ | DB: Kullanıcı Oturumu Oluştur | |
/kullanıcı oturumu/:id/ | DB: Kullanıcı Oturumunu Güncelle |
Yetkilendirme Simgesi , yetkili Kullanıcının geçerli oturum simgesi olarak kullanılır. BP web uygulamasında, bu belirteçle etkileşim kurmak mümkündür:
- Yetkilendirme Simgesini Al , geçerli kimliği doğrulanmış kullanıcı oturumunun Yetkilendirmesini döndürür;
- Yetkilendirme Simgesini Ayarla, yetkili kullanıcının geçerli oturumunun Yetkilendirme Simgesinin üzerine yazar;
- Yetkilendirme Simgesini Kaldır , Yetkilendirme Simgesini yetkili kullanıcının geçerli oturumunu siler;
Örnek, geçerli kullanıcının nasıl alınacağını gösterir.
Bunu yapmak için İş mantığı sekmesine gidin ve Yetkilendirme: Geçerli kullanıcıyı al bloğunu sürükleyin.
Ardından, oluşturulan BP için mevcut Kullanıcının nesnesini almak için sunucuyla iletişim kurmak için kullanılacak bir Bitiş Noktası oluşturulur.
Endpoints bölümünde kullanıcı grubunu seçin ve mevcut Kullanıcıyı almak için yeni oluşturulan işlem için bir GET istek yöntemi oluşturun.
BP web uygulamasında, mevcut kullanıcıyı almak için oluşturulan uç noktaya (Sunucu isteği GET /user_current) bir istekte bulunun.
Gruplar ve İzinler
Auth modülünün ayarlarında kullanıcı grupları oluşturulur. Modül ayarlarına gitmek için Modüller bölümünü açmanız ve ilgili modülün kartına tıklamanız gerekmektedir.
Gruplar sekmesi, mevcut tüm grupların bir listesini içerir. Yeni bir Kullanıcı grubu oluşturmak için Yeni öğe ekle'yi tıklayın. Yeni kalıcı pencerede grubu özelleştirebilir, bir açıklama, simge, simge ve etiket rengi ve etiket ekleyebilirsiniz.
pMaster" data-mce-src="https://appmaster.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">
Mevcut kullanıcı gruplarını düzenlemek için Auth modülünün ayarlarına da gitmeniz gerekir. Bunu yapmak için Modüller bölümüne gidin ve ilgili modülün kartına tıklayın. Ardından, Gruplar sekmesinde, bir grup listesi mevcut olacak, düzenlemek için ayarlar simgesine tıklamanız gerekiyor. Yeni kalıcı pencerede grubu özelleştirebilir, açıklamasını, simgesini, simgesini ve etiket rengini ve etiketini değiştirebilirsiniz.
Belirli kullanıcı grupları için veri tabanındaki girişlerin okuma/yazma haklarını değiştirmek için Auth modülünün Middleware'i kullanılır.
Uç Noktalar bölümünde, okuma/yazma izinlerini değiştirmek istediğiniz Uç Noktayı seçin. İstenen Endpoint'teki ayarlar düğmesine tıklayın ve açılan kalıcı pencerede Middleware sekmesine gidin. Ardından, Token Auth Middleware satırında Ayarları düzenle'ye tıklayarak erişim haklarını ayarlayın.
Web uygulamasında sayfalara erişim: Web uygulamasına gitmeniz ve erişimi kısıtlamak istediğiniz sayfanın Ayarlar butonuna tıklamanız gerekmektedir.
Gruplar için göster alanında, bu sayfayı görüntülemesine izin verilecek kullanıcı gruplarının bir listesini seçmelisiniz. Varsayılan olarak, alan boştur ve tüm kullanıcı kategorilerine erişime izin verilir.
Çözüm
Verilere rollere göre erişim, belirli kullanıcı grupları için bilgi akışlarını düzenlemenin uygun bir yoludur. Kodsuz platform AppMaster.io ile bu özelliği bir denemede test edebilirsiniz.
İşlevsellikten etkilendiyseniz, bu özelliğin yanı sıra ikili dosya dışa aktarımı, düzenli yedeklemeler, proje aktarımları ve çok daha fazlasını içeren Profesyonel planımızı edinin. En cüretkar projelerinizi bile hayata geçirmek için sizi AppMaster.io platformuna bekliyoruz.