PEMROGRAMAN WEB LANJUT
Sistem Authentikasi
Sistem authentikasi atau sistem
login merupakan salah satu bagian dari aplikasi yang sering kita kerjakan. Sistem
ini juga menjadi bagian yang vitalpada aplikasi. Bagian ini lah yang menjamin keamanan
data dari aplikasi yang sedang dikerjakan. Pada kasus ini library yang paling
penting untuk diketahui adalah library session. Perlu diingat bahwa library
session codeigniter disimpan di sebuah cookie. Cookie tersebut dapat kita
enkripsi. Selain itu kita juga dapat menyimpan session tersebut di database.
Yang artinya user cookie harus cocok dengan cookie yang ada di database. Secara
default hanya cookie yang digunakan dan walaupun anda tidak menggunakan
enkripsi cookie anda harus tetap menkonfigurasi enkription key. Untuk
menggunakan library session sama seperti penggunaan library pada biasanya. Kita
bisa mengkonfigurasi file autoload atau memanggilnya secara manual
$this->load->library('session');
Ketika library sudah diload kelas session
akan mengecek apakah data session yang diinginkan berada di cookie. Jika data
tidak ada dicookie maka akan dibuatkan sebuah session baru dan disimpan didalam
cookie. Jika data cookie ditemukan maka data tersebut akan diupdate terutama untuk
last_activity dan session_id. Untuk penggunaan library session sendiri sangat
mudah. Untuk mengambil data session dapat
dilakukan dengan
$this->session->userdata('item');
Sedangkan untuk menyimpan session
dapat dilakukan dengan cara
$newdata = array(
'username' => 'ibnoe',
'email' => 'xibnoe@gmail.com
',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
1. Membuat
Tabel User
Untuk
sistem autentikasi kita akan membuat tiga tabel. Tabel pertama yaitu tabel userberisi
data informasi login user , tabel user_groupberisi data pengelompokan user
menjadi group, dan tabel tracker berfungsi untuk menyimpan data infromasi
darimana user tersebut menggunakan sistem login dan telah berapa kali gagal
menggunakannya.
2. Membuat
Library Access
Setelah
tabel terbentuk barulah kita membuat library untuk mengakses dan mengverifikasi
data user. Library tersebut kita sebut Access. Adapun kode programnya adalah
sebagai berikut application/libraries/access.php
Library
access di atas membutuhkan library session dan database, jadi sebelum
menggunakan library tesebut pastikan Anda telah menyeting konfigurasi
CodeIgniter dengan benar. Perhatikan fungsi login, fungsi itu bertugas untuk melakukan
pengecekan terhadap data username dan password yang diberikan oleh user. Fungsi
login akan mengambil semua informasi tentang user berdasarkan username (baris 28).
Setelah data didapatkan maka dilakukan pencocokan username dan password (baris
33). Jika passwordnya cocok maka session user tersebut disimpan sebagai penanda
bahwa user telah login.
3. Membuat
Library Access
Untuk
mendapatkan data user tersebut maka kita membutuhkan sebuah model. Model ini sangat
sedehana hanya terdiri satu fungsi yaitu get_login_info.Fungsi tersebut akan mengembalikan
object data user apabila username yang dimasukkan ada di database dan memberikan
hasil FALSE jika data user tidak ditemukan application/models/users_model.php
4. Membuat
Controller Member
Pertama-tama
kita akan membuat controller untuk login. Controller tesebut kita beri nama member.
Controller member ini mempunyai dua fungsi utama yaitu login dan logout
Pada
controller member kita akan melakukan pengecekan terhadap inputan yang telah di
masukkan user. Oleh karena itu kita tetap menggunakan library validation. Kita
akan menggunakan custom validation. Perhatikan baris 29 dan baris 50. Fungsi
check_login akan menjadi custom validator pada controller ini. Pada fungsi itu
juga library access dipanggil untuk melakukan pengecekan login. Baris 63
digunakan untuk mengeset pesan error pada validasi.
5. Membuat
view controller member
Setelah
memiliki model dan controller maka kita tinggal membuat view
Adapun
tampilan dari view diatas adalah
6. Membuat
Mengextend library Controller
Controller
member hanya digunakan memverifikasi user yang login. Kita akan membuat sebuah controller
yang hanya bisa diakses oleh user yang sudah login. Controller tersebut akan
diberi nama Member_controller. Untuk membuat member controller maka kita harus membuat
sebuah file di my_controller.php di folder application/core
Class
Member_controller merupakan turunan dari kelas CI_Controller dengan penambahan fungsi
pengecekan apakah user sudah login. Perhatikan baris 9, kita memanggil fungsi
is_login yang digunakan untuk mengecek apakah user sudah login. Apabila user
belum login maka akan di redirect ke form login. Untuk meng-extend kelas bawaan
Codeigniter kita harus membuat sebuah kelas my_controller. Kita dapat meruba
prefix MY_ menjadi yang lain dari konfigurasi codeigniter. Adapun contoh
penggunaan member_controller adalah
7. Form sesudah login
Selesai !!
0 komentar:
Posting Komentar