ikhsan3adi / absensi-sekolah-qr-code

Sistem absensi siswa dan guru berbasis QR Code menggunakan CodeIgniter 4 🔥
https://youtube.com/watch?v=E1ho6wRBIUs
GNU General Public License v3.0
215 stars 75 forks source link

Halaman Scan QR hanya bisa diakses setelah login Admin/Petugas? #32

Closed ffooll-bit closed 9 months ago

ffooll-bit commented 9 months ago

Saat menekan tombol SCAN QR untuk masuk ke halaman Scan QR, ternyata harus login terlebih dahulu menggunakan akun admin/petugas. Apakah memang disengaja? Entahlah, tapi solusi yang saya gunakan agar tidak perlu login untuk Scan QR:

ikhsan3adi commented 9 months ago

Betul filter login di file Filters.php dihapus. Tapi itu akan diterapkan secara global, agar saat masuk dashboard tetap dibatasi login bisa diberi filter di file Routes.php bagian admin routes group.

// Admin 
 $routes->group('admin', ['filter' => 'login'], function (RouteCollection $routes) { 
    // Admin dashboard ...
    // ...
 });
ffooll-bit commented 9 months ago

Betul filter login di file Filters.php dihapus. Tapi itu akan diterapkan secara global, agar saat masuk dashboard tetap dibatasi login bisa diberi filter di file Routes.php bagian admin routes group.

// Admin 
 $routes->group('admin', ['filter' => 'login'], function (RouteCollection $routes) { 
    // Admin dashboard ...
    // ...
 });

Yup, bisa dengan cara itu. Tapi sepertinya di file yang sama, app\Config\Filters.php pada bagian bawah sudah ada filter yang bekerja untuk mengalihkan halaman dashboard admin:

    /**
     * List of filter aliases that should run on any
     * before or after URI patterns.
     *
     * Example:
     * 'isLoggedIn' => ['before' => ['account/*', 'profiles/*']]
     */
    public array $filters = [
        'login' => ['before' => ['admin/', 'admin/*', 'register/']]
    ];

Jadi, sebelum URI admin/, admin/*, atau register/ diakses, pasti akan dialihkan ke halaman login. Atau, apakah prinsip kerjanya berbeda?

ikhsan3adi commented 9 months ago

Ya, cara kerjanya kurang lebih sama. Saya baru sadar sudah menerapkan filter berdasarkan URI pattern. Kalau filter yang di Routes.php itu supaya bisa lebih spesifik menerapkan filter untuk route / route group tertentu.