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.

Мodule Auth by AppMaster.io

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.

User and User Session

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;

Delete User in AppMaster

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);

Update User

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);

Create User

DB: Kullanıcıyı Geçici Olarak Sil — User nesnesindeki DeletedAt özniteliğini günceller ve veritabanında bırakır;

Soft Delete User

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;

Bulk Delete User

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);

Patch User

DB: Kullanıcı Ara — alanlara dayalı olarak veritabanında bir veya daha fazla Kullanıcı nesnesi bulur ve bunları döndürür;

Search User

DB: GetOne User — Kullanıcı nesnesini kimliğine göre veritabanında bulur ve döndürür;

GetOne User

Kullanıcıyı Genişlet — seçilen Kullanıcı nesnesinin tüm alanlarını döndürür;

Expand User

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);

Make User

  • Kullanıcı Oturumu Modeli

DB: Kullanıcı Oturumunu Sil — geçirilen ID ile Kullanıcı Oturumu nesnesini veritabanından kaldırır;

Delete User Session

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);

Update User Session

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);

Create User Session

DB: Kullanıcı Oturumunu Geçici Olarak Sil — Kullanıcı Oturumu nesnesinin DeletedAt özniteliğini günceller ve veritabanında bırakır;

Soft Delete User Session

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;

Bulk Delete User Session

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);

Patch User Session

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;

Search User Session

DB: GetOne User Session — veritabanındaki Kullanıcı Oturumu nesnesini kimliğine göre bulur ve döndürür;

GetOne User Session

Kullanıcı Oturumunu Genişlet — seçilen Kullanıcı Oturumu nesnesinin tüm alanlarını döndürür;

Expand User Session

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);

Make User Session

  • Yetkilendirme Modülü

Auth: Generate Auth Token — belirli bir uzunlukta bir yetkilendirme jetonu (Auth Token) oluşturur;

Generate Auth Token

Yetkilendirme: Kayıt — yeni bir kullanıcı kaydeder;

Auth: Registration

Yetkilendirme: Yetkilendirme — Sistemde Yetkilendirme Simgesinin var olup olmadığını kontrol eder ve onunla ilişkili kullanıcıyı döndürür;

Auth: Authorization

Auth: Authentification — kullanıcının oturum açma bilgilerini ve parolasını kontrol eder ve bir Auth Token döndürür;

Auth: Authentification

Yetkilendirme: Oturumu Kapat — bir Yetkilendirme Simgesini kabul eder ve mevcut kullanıcı oturumunu sonlandırır;

Auth: Logout

Yetkilendirme: Geçerli kullanıcıyı al — mevcut kullanıcının verilerini döndürür;

Auth: Get current user

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);

Auth: Remove user from group

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: Add user to the group

Auth: Hash Password — bir parola dizesini karmaya dönüştürme;

Auth: Hash Password

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;

Auth: Restore Password

Yetki: Parolayı Değiştir — mevcut kullanıcı parolasını yenisiyle değiştirir;

Auth: Change Password

Auth: Probe Password — şifre ve hash eşleşmesinin doğrulanması;

Auth: Probe Password

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
post type /çıkış Yap/ Yetki: Çıkış
post type /yetki/ Yetki: Yetkilendirme
post type /Kayıt ol/ Yetki: Kayıt
get type /onaylamak/ Yetki: Kayıt
put type /kullanıcı/parola değiştir Yetki: Şifreyi Değiştir
post type /user/restore-parola/ Yetki: Parolayı Geri Yükle
get type /Kullanıcı profili/ Yetki: Yetkilendirme

kullanıcı

İstek Türü uç nokta bağlı BP
put type /Kullanıcı kimliği/ DB: Kullanıcıyı Güncelle
delete type /Kullanıcı kimliği/ DB: Kullanıcıyı Sil
get type /Kullanıcı kimliği/ DB: GetOne Kullanıcısı
get type /kullanıcı/ DB: Kullanıcı Ara
patch type /Kullanıcı kimliği DB: Yama Kullanıcısı
post type /kullanıcı/ DB: Kullanıcı Oluştur

Kullanıcı Oturumu

İstek Türü uç nokta bağlı BP
delete type /kullanıcı oturumu/:id/ DB: Kullanıcı Oturumunu Sil
get type /kullanıcı oturumu/:id/ DB: GetOne Kullanıcı Oturumu
get type AppMaster /kullanıcı oturumu/ DB: Kullanıcı Oturumunu Ara
patch type AppMaster /kullanıcı oturumu/:id/ DB: Yama Kullanıcı Oturumu
post type AppMaster /kullanıcı oturumu/ DB: Kullanıcı Oturumu Oluştur
put type AppMaster /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:

  1. Yetkilendirme Simgesini Al , geçerli kimliği doğrulanmış kullanıcı oturumunun Yetkilendirmesini döndürür;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Yetkilendirme Simgesini Ayarla, yetkili kullanıcının geçerli oturumunun Yetkilendirme Simgesinin üzerine yazar;
    Set Auth Token
  3. Yetkilendirme Simgesini Kaldır , Yetkilendirme Simgesini yetkili kullanıcının geçerli oturumunu siler;
    Remove Auth Token

Ö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://ws.apms.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.

Editing existing user groups

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.

Access to pages in the web application

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.

Access to pages in the web application 2

Çö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.