Study
Genie

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.

Editor Latihan

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.