Posts

Showing posts with the label User

Quarkus : User login, Logout dan Register dengan Qute Template Engine

Image
  Dalam dunia pengembangan aplikasi web, hampir setiap sistem membutuhkan mekanisme autentikasi seperti login , registrasi , hingga logout . Dengan framework modern seperti Quarkus , proses ini bisa dibuat lebih sederhana, cepat, dan efisien. Ditambah lagi, integrasi dengan Qute templating engine bawaan Quarkus — memungkinkan kita membangun antarmuka web yang ringan namun tetap powerful. Pada tulisan ini, kita akan membahas langkah demi langkah bagaimana membangun sistem User Registration dan Login menggunakan Quarkus, Hibernate Panache untuk manajemen database, serta Qute untuk rendering halaman seperti /login , /registration , hingga /dashboard . Dengan pendekatan ini, kamu akan melihat betapa mudahnya menggabungkan kekuatan Quarkus + Qute untuk membuat aplikasi web full-stack dengan fitur autentikasi dasar.  1) Tambah dependencies (Gradle) Di build.gradle , pastikan ini ada (yang penting: bridge Qute ↔ REST dan BCrypt untuk hashing): dependencies { implementatio...

Quarkus Security 2 - HTTP Basic Auth dengan JDBC

Image
Kita akan membahas  bagaimana Quarkus  dapat menggunakan database untuk menyimpan provider identitas pengguna dari database ke HTTP Basic Auth. 1. Persiapan Untuk menyelesaikan panduan ini, kita memerlukan: Waktu sekitar 15 menit IDE IntelliJ IDEA JDK 17+ yang terinstal dengan JAVA_HOME yang dikonfigurasi dengan benar Apache Maven 3.9.9 Opsional: Quarkus CLI jika ingin menggunakannya Opsional: Mandrel atau GraalVM yang terinstal dan dikonfigurasi dengan benar jika  ingin membangun executable native (atau Docker jika  menggunakan build kontainer native) 2. Arsitektur Dalam contoh ini, kita membangun sebuah mikroservis yang sangat sederhana yang menawarkan tiga endpoint: /api/public /api/users/me /api/admin Endpoint /api/public dapat diakses secara anonim. Endpoint /api/admin dilindungi dengan RBAC (Role-Based Access Control) di mana hanya pengguna yang diberikan peran admin yang dapat mengaksesnya. Pada endpoint ini, kita menggunakan anotasi @RolesAllow...