-- ============================================================ -- MIGRASI: Tabel Users & Role-Based Access Control -- WebGIS Poverty Mapping – Sistem Autentikasi -- Jalankan di phpMyAdmin atau MySQL CLI setelah database.sql -- ============================================================ USE webgis_p3; -- ── Tabel pengguna ───────────────────────────────────────── CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) NOT NULL UNIQUE, nama_lengkap VARCHAR(200) NOT NULL, role ENUM('admin','petugas','pengurus','walikota') NOT NULL, password_hash VARCHAR(255) NOT NULL, aktif TINYINT(1) NOT NULL DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_role (role), INDEX idx_aktif (aktif) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- ── Akun demo (password semua akun: "password") ── -- Hash bcrypt digenerate dengan PHP password_hash('password', PASSWORD_DEFAULT) -- -- admin → password -- petugas → password -- pengurus → password -- walikota → password INSERT INTO users (username, nama_lengkap, role, password_hash) VALUES ( 'admin', 'Administrator Sistem', 'admin', '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' ), ( 'petugas', 'Petugas Lapangan', 'petugas', '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' ), ( 'pengurus', 'Pengurus Rumah Ibadah', 'pengurus', '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' ), ( 'walikota', 'Walikota Pontianak', 'walikota', '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' ); -- !! Untuk database yang sudah ada, jalankan update_pass.php atau generate_hash.php !! -- ── Catatan hak akses per role ────────────────────────────── /* ROLE: admin ───────────────────────────────────────────────────────────── • CRUD semua data: SPBU, kemiskinan, rumah ibadah • Dapat melihat semua layer & analisis spasial • Fitur FAB Tambah: SPBU, Kemiskinan, Rumah Ibadah ROLE: petugas ───────────────────────────────────────────────────────────── • Input & edit data kemiskinan (CREATE + UPDATE + DELETE) • View semua data (read-only untuk SPBU & Rumah Ibadah) • Fitur FAB Tambah: hanya Kemiskinan • Tidak dapat hapus data SPBU atau Rumah Ibadah • Tidak dapat tambah/edit SPBU atau Rumah Ibadah ROLE: pengurus ───────────────────────────────────────────────────────────── • Input & edit data rumah ibadah miliknya (CREATE + UPDATE + DELETE) • View data kemiskinan (read-only) • Fitur FAB Tambah: hanya Rumah Ibadah • Tidak dapat hapus data SPBU atau kemiskinan • Tidak dapat tambah/edit SPBU atau kemiskinan */