login
AdminLTE,  Authentication,  CodeIgniter4,  MYSQL

Laundry Management Website (Part 13-Multiple Role Based Authentication for Login)

Created by: Anisa Damayanti, S.Kom.
For Study Purpose Only!

Multiple Role Based Authentication atau dapat disebut dengan Multi Role User adalah sistem atau fitur yang memungkinkan pengguna dengan peran atau tingkat akses yang berbeda untuk masuk dengan menggunakan berbagai metode otentikasi. Ini umumnya digunakan dalam sistem, situs web, atau aplikasi di mana ada banyak peran pengguna, masing-masing dengan seperangkat izin dan batasan sendiri yang berguna dalam menjaga keamanan sistem dan mengatur tingkat akses yang sesuai sesuai dengan tugas dan tanggung jawab pengguna dalam organisasi atau aplikasi.

Sama halnya dengan Aplikasi Pengelolaan Laundry berbasis Website (Laundry Management Website) yang sedang kita bangun, Website ini menerapkan Multi User berdasarkan Role dari para pengguna seperti yang tertera pada tabel berikut ini:

Dalam mengaktifkan fitur Login dengan Multi Role User ini kita dapat memanfaatkan rancangan query database (Model) pada file PenggunaModel.php yang sudah dibahas dalam tutorial MVC User dan CRUD User. Sedangkan konsep tampilan dan alur logika (View & Controller) sudah dibahas dalam tutorial Assest AdminLTE.

A. Persiapan Tools

  • Pada aplikasi XAMPP pastikan mengaktifkan Module Apache dan MySQL dengan mengklik tombol Start

  • Pada Web Browser seperti Chrome, Chrome Developer, Mozilla Firefox ataupun Microsoft Edge pastikan sudah membuka url berikut: localhost/ci4_nama_kelas/public untuk website
contoh memanggil url
localhost/ci4_anisa_xiirpl3/public
  • Pada VSCode pastikan sudah membuka folder project yang sudah dibuat sebelumnya
contoh membuka folder project
ci4_anisa_xiirpl3

B. Langkah-langkah Aktifasi Multi Role User

Controller
  • Pada VSCode bukalah folder app/Controllers
  • Ubah file Auth.php dengan mengimpor class PenggunaModel di bagian atas sebelum class Auth

  • Kemudian tambahkan function baru bernama function __construct() di dalam class Auth

  • Masih di dalam class Auth, pada public function index() tambahkan inisialisasi kondisi percabangan

  • Selanjutnya tambahkan 2 function baru bernama private function setUserSession($user) dan public function logout() di dalam class Auth

Validation
  • Pada VSCode buatlah folder baru yang bernama Validation di dalam folder app

  • Kemudian buatlah file baru bernama AuthRules.php di dalam folder Validation

  • Selanjutnya di dalam file AuthRules.php di isikan sebuah function berikut

  • Selanjutnya bukalah folder app/Config
  • Ubah file Validation.php dengan mengimpor class AuthRules di bagian atas sebelum class Validation

  • Masih di dalam class Validation, daftarkan class AuthRules di dalam public array $ruleSets

View
  • Pada VSCode bukalah folder app/Views
  • Ubah file v_login_auth.php dengan menambahkan 3 function baru pada tag <div>, tag <form>, dan tag <input>
1. function error
2. function peng-alamatan
3. function session username
  • Kemudian siapkan sebuah akun baru dengan role sebagai Admin yang didaftarkan pada Menu Pengguna
contoh di atas mendaftarkan username dengan “admin” dan password dengan “admin
  • Selanjutnya pada Web Browser buka url berikut: localhost/ci4_nama_kelas/public/auth
  • Isi kolom username dan password dengan data yang sudah didaftarkan pada Menu Pengguna kemudian klik Sign In
contoh di atas mengisi username dengan “admin” dan password dengan “admin
  • Jika identitas pengguna sudah teridentifikasi pada bagian menu side-bar, maka proses Login dengan Multi User berdasarkan Role dinyatakan berhasil

Permission Session
  • Pada VSCode bukalah folder app/Controllers/Admin
  • Ubah file Outlet.php dengan menambahkan pengelolaan izin atau hak akses pada function __construct()

  • Kemudian ubah file Pengguna.php dengan menambahkan pengelolaan izin atau hak akses pada function __construct()

  • Kemudian ubah file Paket.php dengan menambahkan pengelolaan izin atau hak akses pada function __construct()

  • Kemudian ubah file Pelanggan.php dengan menambahkan pengelolaan izin atau hak akses pada function __construct()

  • Selanjutnya pada Web Browser buka salah satu Menu, misal Menu Pengguna dengan url berikut: localhost/ci4_nama_kelas/public/admin/pengguna
  • Ketika akan mengakses Menu Pengguna tanpa melakukan fungsi Login terlebih dahulu, maka Menu tersebut hanya akan mengeluarkan sebuah pemberitahuan bahwa halaman tersebut tidak dapat diakses

  • Tetapi berbeda ketika akan mengakses Menu Pengguna dengan melakukan fungsi Login terlebih dahulu, maka halaman tersebut dapat diakses dengan identitas pengguna teridentifikasi pada bagian menu side-bar

a founder of december skies code, a software engineering teacher, and a lifelong learner who just tries her best at whatever she does. let's work together!

Leave a Reply

Your email address will not be published. Required fields are marked *