Sering terjadi Anda harus melindungi halaman admin website dengan hak akses tertentu. Misalnya seorang admin dengan Level Super Administrator, maka dia bisa mengakses semua halaman, sedangkan admin dengan levelMember hanya bisa mengakses halaman berita. Source code tutorial ini tersedia pada link di bawah. Lalu bagaimana kita mengaplikasikannya? Ikuti tutorial berikut ini. Sebelum Anda masuk ke tutorial ini, pastikan Anda telah menyelesaikan tutorial:
Dalam tutorial ini, Anda akan menggunakan satu buah tabel data MySQL, yaitu:akses_level dan 4 buah file PHP berikut ini:
- login.php, adalah halaman login untuk admin
- admin.php, adalah halaman admin yang bisa diakses admin dengan level Super Administrator dan Member
- add-admin.php, halaman untuk menambah admin yang hanya bisa diakses olehSuper Administrator
- login-gagal.php, halaman pengalihan jika admin dengan level Member mencoba untuk mengakses halaman add-admin.php
CREATE TABLE IF NOT EXISTS `akses_level` ( `id` int(5) unsigned NOT NULL AUTO_INCREMENT, `nama` varchar(64) NOT NULL, `username` varchar(64) NOT NULL, `password` varchar(64) NOT NULL, `level` varchar(64) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Dumping data for table `akses_level` -- INSERT INTO `akses_level` (`id`, `nama`, `username`, `password`, `level`) VALUES (1, 'Java Web Media', 'admin', 'javawebmedia', 'Super Administrator'), (2, 'Member', 'member', 'memberpassword', 'Member');
Berikut adalah langkah-langkahnya: Pastikan Anda telah membuat Site Definition dan MysQL Connection sebelum masuk ke langkah ini.
login.php dan login-gagal.php
Bukalah file login.php dan atau login-gagal.php (karena langkah-langkah untuk mengaktifkan kedua file tersebut adalah sama) dengan menggunakan Adobe Dreamweaver, lalu ikuti langkah-langkah berikut ini:
- Klik Insert > Data Objects > User Authentication > Log In User
- Get input form form: form1
- Username field: username
- Password field: password
- Validate using connection: blog (tergantung dari nama koneksi MySQL yang Anda buat)
- Table: akses_level
- Username column: username
- Password column: password
- If login succeds, go to: admin.php
- Beri tanda check pada pilihan Go to previous URL (If exists)
- If login fails, go to: login-gagal.php
- Restrict access based on: Username, password, and access level. Di sinilah proses pembatasan hak ases di mulai pada saat proses login dengan mendaftarkan session
- Get level form: level. Hak akses nantinya akan diambikan dari tabel akses_level pada kolom level.
- Klik OK jika sudah selesai lalu simpan file Anda
admin.php
Langkah selanjutnya adalah memproteksi halaman admin.php sehingga hanya bisa diakses oleh admin berlevel Member dan Super Administrator. Berikut adalah langkah-langkahnya:
- Buka file admin.php,
- Klik Insert > Data Objects > User Authentication > Restrict Access To Page
- Restrict Based On: Username, Password, and Access Level
- Klik Define, maka jendela Define Access Levels akan keluar
- Pada menu Name, ketik Super Administrator
- Klik Tanda Plus (+) yang berada di samping tulisan Access Levels
- Lalu pada menu Name, ketik Member.
- Klik OK. Hal ini akan menambahkan dua variabel akses level ke dalam jendela Select Level(s), yaitu: Super Administrator dan Member.
- Ingat, kedua admin dengan level tersebut dapat mengakses halaman ini, maka untuk mengaktifkannya tekan Shift lalu klik kedua variabel Super Administrator danMember tersebut
- If access denied, go to: login-gagal.php
- Klik OK untuk menyelesaikannya.
- Simpan kembali file admin.php