GenieAuthentication Dasar
Penjelasan
GenieAuthentication adalah package pendamping yang menyediakan sistem login/logout siap pakai untuk aplikasi Genie, termasuk model user, hashing password, dan middleware untuk melindungi route tertentu supaya hanya bisa diakses user yang sudah login. Ini mempercepat setup autentikasi tanpa harus menulis semua logic session dari nol. Setelah dipasang dan dikonfigurasi, route yang butuh login cukup ditandai dengan pemeriksaan `authenticated()` di awal handler, atau dibungkus middleware autentikasi yang otomatis meredirect ke halaman login kalau user belum ter-autentikasi.
Contoh Konsep
using Pkg
Pkg.add("GenieAuthentication")
using GenieAuthentication
using Genie.Router
route("/dashboard") do
if !authenticated()
return redirect("/login")
end
"Selamat datang di dashboard, $(current_user().email)"
end
route("/login", GenieAuthentication.AuthenticationController.login, method = POST)
Praktikum
Buat route "/akun" yang hanya bisa diakses kalau user sudah login, dan redirect ke "/login" kalau belum.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan simpan password dalam bentuk teks biasa — GenieAuthentication sudah menangani hashing secara default, jadi tidak perlu implementasi manual.