Pada artikel ini, kita akan melihat bagaimana platform tanpa kode AppMaster.io memecahkan masalah akses data untuk pengguna aplikasi.

Itu terjadi dengan memperkenalkan peran seperti Pengguna, Moderator, Admin, dan persyaratan lainnya. Solusi ini memberikan lebih banyak fleksibilitas di dalam aplikasi yang Anda buat dan mengontrol akses informasi dan fungsionalitas di dalam aplikasi yang dibangun.

Artikel ini akan berguna bagi siapa saja yang ingin mendalami fungsionalitas platform AppMaster.io dan melihat kemampuannya dalam hal pengaturan untuk mengakses data berdasarkan peran.

odul Auth oleh AppMaster.io

Pendaftaran dalam aplikasi rakitan di platform kami diwakili oleh modul Auth , yang memungkinkan Anda membuat dan mengedit grup pengguna dan mengakses hak-hak mereka. Modul Auth sudah diinstal sebelumnya ke dalam proyek saat dibuat.

Мodule Auth by AppMaster.io

Pengaturan modul Auth yang tersedia:

Grup Pendaftaran — daftar grup pengguna yang dapat mendaftar;

SignUp — termasuk kemampuan untuk mendaftar dalam aplikasi;

Batas waktu sesi (menit ) — waktu setelah sesi pengguna saat ini akan berakhir jika Pengguna menganggur (dalam menit). Standarnya adalah 60 menit;

Penundaan login yang gagal (dalam md) — waktu tunda untuk respons server jika upaya login gagal (dalam md). Standarnya adalah 0 mdtk;

Konfirmasi email diperlukan — opsi yang melibatkan verifikasi melalui email jika diaktifkan;

Pengguna Terdaftar Aktif — menyetel atribut aktif ke True untuk setiap Pengguna terdaftar.

Grup — memungkinkan Anda membuat dan mengedit grup pengguna.

AppMaster.io menggunakan Data Model Designer untuk bekerja dengan model.

Sesi Pengguna dan Pengguna adalah dua model yang dibuat secara otomatis di Data Model Designer. Bidang model data prainstal tidak dapat diubah atau dihapus, tetapi yang baru dapat ditambahkan.

User and User Session

Untuk model ini, blok proses bisnis (BP) juga dibuat secara otomatis.

BP yang dibuat secara otomatis yang terkait dengan Sesi Pengguna dan Pengguna

  • Model Pengguna

DB: Hapus Pengguna — hapus objek Pengguna dari database melalui ID;

Delete User in AppMaster

DB: Perbarui Pengguna — mengatur ulang semua bidang dari blok objek Pengguna yang diteruskan ke input dalam database dan memperbaruinya sesuai dengan nilai yang ditentukan (untuk mengubah hanya bidang yang ditentukan, blok DB: Patch User digunakan);

Update User

DB: Create User — menyimpan dalam database dan mengembalikan objek User yang diberikan (untuk membangunnya dari bidang yang diberikan, gunakan blok Make User);

Create User

DB: Soft Delete User — memperbarui atribut DeletedAt pada objek User dan meninggalkannya di database;

Soft Delete User

DB: Bulk Delete User — mengambil sebagai input array ID (id) objek Pengguna yang akan dihapus dari database;
fail_ids — larik ID pengguna yang tidak akan dihapus;

Bulk Delete User

DB: Patch User — memperbarui bidang tertentu dari objek Pengguna dalam database (untuk mengatur ulang semua bidang, gunakan blok DB: Perbarui Pengguna);

Patch User

DB: Cari Pengguna — menemukan satu atau lebih objek Pengguna dalam database berdasarkan bidang dan mengembalikannya;

Search User

DB: GetOne User — menemukan objek User dalam database dengan ID-nya dan mengembalikannya;

GetOne User

Perluas Pengguna — mengembalikan semua bidang objek Pengguna yang dipilih;

Expand User

Make User — membuat objek Pengguna baru di memori dari bidang yang diberikan dan mengembalikannya (untuk menyimpan objek yang dibuat dalam database, gunakan blok DB: Create User);

Make User

  • Model Sesi Pengguna

DB: Hapus Sesi Pengguna — menghapus objek Sesi Pengguna dari database dengan ID yang diteruskan;

Delete User Session

DB: Perbarui Sesi Pengguna — mengatur ulang semua bidang objek Sesi Pengguna yang diteruskan ke blok input dalam database dan memperbaruinya sesuai dengan nilai yang ditentukan (untuk mengubah hanya bidang yang ditentukan, gunakan DB: Sesi Pengguna Patch);

Update User Session

DB: Buat Sesi Pengguna — menyimpan dalam database dan mengembalikan objek Sesi Pengguna yang diberikan (untuk membangunnya dari bidang yang diberikan, gunakan blok Jadikan Sesi Pengguna);

Create User Session

DB: Soft Delete User Session — memperbarui atribut DeletedAt dari objek User Session dan meninggalkannya di database;

Soft Delete User Session

DB: Massal Hapus Sesi Pengguna — menerima sebagai masukan satu set ID objek Sesi Pengguna yang akan dihapus dari database;
fail_ids — larik mendefinisikan kumpulan ID yang tidak akan dihapus;

Bulk Delete User Session

DB: Patch User Session — memperbarui bidang tertentu dari objek Sesi Pengguna dalam database (untuk mengatur ulang semua bidang, gunakan DB: Perbarui blok Sesi Pengguna);

Patch User Session

DB: Cari Sesi Pengguna — menemukan satu atau lebih objek Sesi Pengguna dalam database berdasarkan bidang dan mengembalikannya;

Search User Session

DB: Sesi Pengguna GetOne — menemukan objek Sesi Pengguna dalam database dengan ID-nya dan mengembalikannya;

GetOne User Session

Perluas Sesi Pengguna — mengembalikan semua bidang objek Sesi Pengguna yang dipilih;

Expand User Session

Buat Sesi Pengguna — membuat objek Sesi Pengguna baru di memori dari bidang yang diberikan dan mengembalikannya (untuk menyimpan objek yang dibuat dalam database, gunakan blok DB: Buat Sesi Pengguna);

Make User Session

  • Modul Otentikasi

Auth: Generate Auth Token — menghasilkan token otorisasi (Auth Token) dengan panjang tertentu;

Generate Auth Token

Auth: Registrasi — mendaftarkan pengguna baru;

Auth: Registration

Auth: Authorization — memeriksa apakah Token Auth ada di sistem dan mengembalikan pengguna yang terkait dengannya;

Auth: Authorization

Auth: Otentifikasi — memeriksa login dan kata sandi pengguna dan mengembalikan Token Auth;

Auth: Authentification

Auth: Logout — menerima Token Auth dan mengakhiri sesi pengguna saat ini;

Auth: Logout

Auth: Dapatkan pengguna saat ini — mengembalikan data pengguna saat ini;

Auth: Get current user

Auth: Hapus pengguna dari grup — menghapus pengguna dari grup yang ditentukan dengan ID-nya (didefinisikan dalam pengaturan modul Auth);

Auth: Remove user from group

Auth: Tambahkan pengguna ke grup — menambahkan pengguna ke grup pengguna tertentu dengan ID-nya (didefinisikan dalam pengaturan modul Auth);

Auth: Add user to the group

Auth: Hash Password — mengonversi string kata sandi menjadi hash;

Auth: Hash Password

Auth: Restore Password — menerima nama pengguna dan kata sandi baru pengguna, dengan demikian menyetel ulang;

Auth: Restore Password

Auth: Change Password — mengganti kata sandi pengguna saat ini dengan yang baru;

Auth: Change Password

Auth: Probe Password — verifikasi kata sandi dan pencocokan hash;

Auth: Probe Password

Titik Akhir Modul Auth dan model Sesi Pengguna dan Pengguna dihasilkan secara otomatis saat proyek dibuat.

Modul Otentikasi

Jenis permintaan Titik akhir BP terhubung
post type /keluar/ Otentikasi: Logout
post type /aut/ Otentikasi: Otentikasi
post type /daftar/ Otentikasi: Pendaftaran
get type /Konfirmasi/ Otentikasi: Pendaftaran
put type /pengguna/ubah-kata sandi Otentikasi: Ubah Kata Sandi
post type /pengguna/kembalikan-sandi/ Auth: Pulihkan Kata Sandi
get type /Profil pengguna/ Otorisasi: Otorisasi

Pengguna

Jenis permintaan Titik akhir BP terhubung
put type /identitas pengguna/ DB: Perbarui Pengguna
delete type /identitas pengguna/ DB: Hapus Pengguna
get type /identitas pengguna/ DB: Pengguna GetOne
get type /pengguna/ DB: Cari Pengguna
patch type /identitas pengguna DB: Pengguna Patch
post type /pengguna/ DB: Buat Pengguna

Sesi Pengguna

Jenis permintaan Titik akhir BP terhubung
delete type /sesi-pengguna/:id/ DB: Hapus Sesi Pengguna
get type /sesi-pengguna/:id/ DB: Sesi Pengguna GetOne
get type AppMaster /sesi pengguna/ DB: Cari Sesi Pengguna
patch type AppMaster /sesi-pengguna/:id/ DB: Menambal Sesi Pengguna
post type AppMaster /sesi pengguna/ DB: Buat Sesi Pengguna
put type AppMaster /sesi-pengguna/:id/ DB: Perbarui Sesi Pengguna

Token Auth digunakan sebagai token sesi saat ini dari Pengguna yang berwenang. Di aplikasi web BP, dimungkinkan untuk berinteraksi dengan token ini:

  1. Dapatkan Token Auth mengembalikan Auth dari sesi pengguna yang diautentikasi saat ini;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Set Auth Token menimpa Auth Token dari sesi saat ini dari pengguna yang berwenang;
    Set Auth Token
  3. Hapus Token Auth menghapus Token Auth sesi saat ini dari pengguna yang berwenang;
    Remove Auth Token

Contoh menunjukkan cara mendapatkan pengguna saat ini.

Untuk melakukannya, buka tab Logika bisnis dan seret blok Auth: Dapatkan pengguna saat ini.

Selanjutnya, Endpoint dibuat untuk BP yang dibuat, yang akan digunakan untuk menghubungi server untuk mendapatkan objek Pengguna saat ini.

Pilih grup pengguna di bagian Endpoint dan buat metode permintaan GET untuk proses yang baru dibuat untuk mendapatkan Pengguna saat ini.

Di aplikasi web BP, buat permintaan ke titik akhir yang dibuat (Permintaan server GET /user_current) untuk mendapatkan pengguna saat ini.

Grup dan Izin

Grup pengguna dibuat dalam pengaturan modul Auth. Untuk pergi ke pengaturan modul, Anda perlu membuka bagian Modul dan klik pada kartu modul yang sesuai.

Tab Grup berisi daftar semua grup yang ada. Klik Tambahkan elemen baru untuk membuat grup Pengguna baru. Di jendela modal baru, Anda dapat menyesuaikan grup, menambahkan deskripsi, ikon, ikon dan warna label, serta tag.

pMaster" data-mce-src="https://ws.apms.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">

Untuk mengedit grup pengguna yang ada, Anda juga harus masuk ke pengaturan modul Auth. Untuk melakukan ini, buka bagian Modul dan klik kartu modul yang sesuai. Selanjutnya, di tab Grup, daftar grup akan tersedia, untuk mengeditnya Anda perlu mengklik ikon pengaturan. Di jendela modal baru, Anda dapat menyesuaikan grup, mengubah deskripsi, ikon, ikon dan warna label, serta tag.

Editing existing user groups

Untuk mengubah hak entri baca/tulis dalam database untuk grup pengguna tertentu, digunakan modul Middleware of the Auth.

Di bagian Endpoints, pilih Endpoint yang izin baca/tulisnya ingin Anda ubah. Klik tombol pengaturan di Titik Akhir yang diinginkan dan buka tab Middleware di jendela modal yang terbuka. Selanjutnya, dengan mengklik Edit pengaturan yang sejalan dengan Token Auth Middleware, atur hak akses.

Access to pages in the web application

Akses ke halaman di aplikasi web: Anda harus pergi ke aplikasi web dan klik tombol Pengaturan halaman yang ingin Anda batasi aksesnya.

Di bidang Perlihatkan untuk grup, Anda harus memilih daftar grup pengguna yang akan diizinkan untuk melihat halaman ini. Secara default, bidang ini kosong, dan akses diizinkan untuk semua kategori pengguna.

Access to pages in the web application 2

Kesimpulan

Akses ke data berdasarkan peran adalah cara mudah untuk mengatur arus informasi untuk kelompok pengguna tertentu. Dengan platform tanpa kode AppMaster.io , Anda dapat menguji fitur ini dalam uji coba.

Jika Anda terkesan dengan fungsionalitasnya, dapatkan paket Profesional kami, yang mencakup fitur ini, juga ekspor file biner, pencadangan reguler, transfer proyek, dan banyak lagi. Kami menunggu Anda di platform AppMaster.io untuk mengimplementasikan proyek Anda yang paling berani sekalipun.