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.
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.
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;
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);
DB: Create User — menyimpan dalam database dan mengembalikan objek User yang diberikan (untuk membangunnya dari bidang yang diberikan, gunakan blok Make User);
DB: Soft Delete User — memperbarui atribut DeletedAt pada objek User dan meninggalkannya di database;
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;
DB: Patch User — memperbarui bidang tertentu dari objek Pengguna dalam database (untuk mengatur ulang semua bidang, gunakan blok DB: Perbarui Pengguna);
DB: Cari Pengguna — menemukan satu atau lebih objek Pengguna dalam database berdasarkan bidang dan mengembalikannya;
DB: GetOne User — menemukan objek User dalam database dengan ID-nya dan mengembalikannya;
Perluas Pengguna — mengembalikan semua bidang objek Pengguna yang dipilih;
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);
- Model Sesi Pengguna
DB: Hapus Sesi Pengguna — menghapus objek Sesi Pengguna dari database dengan ID yang diteruskan;
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);
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);
DB: Soft Delete User Session — memperbarui atribut DeletedAt dari objek User Session dan meninggalkannya di database;
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;
DB: Patch User Session — memperbarui bidang tertentu dari objek Sesi Pengguna dalam database (untuk mengatur ulang semua bidang, gunakan DB: Perbarui blok Sesi Pengguna);
DB: Cari Sesi Pengguna — menemukan satu atau lebih objek Sesi Pengguna dalam database berdasarkan bidang dan mengembalikannya;
DB: Sesi Pengguna GetOne — menemukan objek Sesi Pengguna dalam database dengan ID-nya dan mengembalikannya;
Perluas Sesi Pengguna — mengembalikan semua bidang objek Sesi Pengguna yang dipilih;
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);
- Modul Otentikasi
Auth: Generate Auth Token — menghasilkan token otorisasi (Auth Token) dengan panjang tertentu;
Auth: Registrasi — mendaftarkan pengguna baru;
Auth: Authorization — memeriksa apakah Token Auth ada di sistem dan mengembalikan pengguna yang terkait dengannya;
Auth: Otentifikasi — memeriksa login dan kata sandi pengguna dan mengembalikan Token Auth;
Auth: Logout — menerima Token Auth dan mengakhiri sesi pengguna saat ini;
Auth: Dapatkan pengguna saat ini — mengembalikan data pengguna saat ini;
Auth: Hapus pengguna dari grup — menghapus pengguna dari grup yang ditentukan dengan ID-nya (didefinisikan dalam pengaturan modul Auth);
Auth: Tambahkan pengguna ke grup — menambahkan pengguna ke grup pengguna tertentu dengan ID-nya (didefinisikan dalam pengaturan modul Auth);
Auth: Hash Password — mengonversi string kata sandi menjadi hash;
Auth: Restore Password — menerima nama pengguna dan kata sandi baru pengguna, dengan demikian menyetel ulang;
Auth: Change Password — mengganti kata sandi pengguna saat ini dengan yang baru;
Auth: Probe Password — verifikasi kata sandi dan pencocokan hash;
Titik Akhir Modul Auth dan model Sesi Pengguna dan Pengguna dihasilkan secara otomatis saat proyek dibuat.
Modul Otentikasi
Jenis permintaan | Titik akhir | BP terhubung |
---|---|---|
/keluar/ | Otentikasi: Logout | |
/aut/ | Otentikasi: Otentikasi | |
/daftar/ | Otentikasi: Pendaftaran | |
/Konfirmasi/ | Otentikasi: Pendaftaran | |
/pengguna/ubah-kata sandi | Otentikasi: Ubah Kata Sandi | |
/pengguna/kembalikan-sandi/ | Auth: Pulihkan Kata Sandi | |
/Profil pengguna/ | Otorisasi: Otorisasi |
Pengguna
Jenis permintaan | Titik akhir | BP terhubung |
---|---|---|
/identitas pengguna/ | DB: Perbarui Pengguna | |
/identitas pengguna/ | DB: Hapus Pengguna | |
/identitas pengguna/ | DB: Pengguna GetOne | |
/pengguna/ | DB: Cari Pengguna | |
/identitas pengguna | DB: Pengguna Patch | |
/pengguna/ | DB: Buat Pengguna |
Sesi Pengguna
Jenis permintaan | Titik akhir | BP terhubung |
---|---|---|
/sesi-pengguna/:id/ | DB: Hapus Sesi Pengguna | |
/sesi-pengguna/:id/ | DB: Sesi Pengguna GetOne | |
/sesi pengguna/ | DB: Cari Sesi Pengguna | |
/sesi-pengguna/:id/ | DB: Menambal Sesi Pengguna | |
/sesi pengguna/ | DB: Buat Sesi Pengguna | |
/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:
- Dapatkan Token Auth mengembalikan Auth dari sesi pengguna yang diautentikasi saat ini;
- Set Auth Token menimpa Auth Token dari sesi saat ini dari pengguna yang berwenang;
- Hapus Token Auth menghapus Token Auth sesi saat ini dari pengguna yang berwenang;
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://appmaster.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.
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.
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.
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.