149 layanan harus mampu menjamin bahwa pihak yang tidak berhak tidak akan
dapat mengakses resource ini.
D. Aktifitas Pembelajaran 1. Identifikasi Kasus
Pada Kegiatan Pembelajaran yang ke-12, telah dijelaskan bagaimana membangun sebuah halaman admin, akan tetapi aplikasi tersebut masih
belum sempurna, karena semua user tanpa terkecuali bisa mengakses halaman tersebut, hal ini menjadi masalah karena seharusya halaman admin
hanya bisa diakses oleh pihak-pihak yang memiliki kewenangan saja. Pada Kegiatan Pembelajaran kali ini kita akan membangun sebuah system
autentikasi, yang memberi batasan terhadap user untuk bisa mengakses halaman admin. User yang bisa mengakses halaman admin harus login
terlebih dahulu dengan memasukan username dan password.
2. Membangun Sistem authentifikasi
1. Buka file autoload.php pada folder config, aktifkan libraries session
autoload[libraries] = arraydatabase, session; 2. Buat tabel pada database myproyek dengan nama akun dengan field id,
username dan email.
3. Buat class controller Login, tulis kode dibawah ini dan simpan dengan nama Login.php
C:xampphtdocsmyproyekapplication
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 ?php
defined BASEPATH
ORexit No direct script access allowed
; class
Login extends
CI_Controller {
publicfunction index
{ this
- load
- view
login ;
} publicfunction
validasi_user {
username =
_POST [
username ];
password =
md5 _POST
[ password
]; this
- load
- model
akun_model ;
query =
this -
akun_model -
verifikasi_data username
, password
; if
query -
num_rows {
data_user =
array username
= username
, logged_in
= TRUE
; this
- session
- set_userdata
data_user ;
150
18 19
20 21
22 23
24 25
26 27
28 redirect
admin ;
} else
{ header
location: .
base_url .
index.phplogingagal_login ;
} }
publicfunction gagal_login
{ echo
Password atau username salah, Silahkan periksa kembali ;
} }
4. Buka file login.html, tuliskan kode dibawah ini, kemudian simpan dengan nama login.php
C:xampphtdocsmyproyekapplication
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 DOCTYPE html
html lang
= en
head meta
charset =
utf-8 meta
name =
viewport content
= width=device-width, initial-scale=1
title Signin
title -- Bootstrap core CSS --
link href
= ?php
echo base_url
? assetscssbootstrap.min.css
rel =
stylesheet link
href =
?php echo
base_url ?
assetsstylesignin.css rel
= stylesheet
head body
div class
= container
form class
= form-signin
action =
?php echo
base_url ?
index.phploginvalidasi_user method
= POST
h2 class
= form-signin-heading
Silahkan masuk h2
label for
= text
class =
sr-only Alamat Email
label input
name =
username type
= text
id =
username class
= form-
control placeholder
= Username
requiredautofocus label
for =
inputPassword class
= sr-only
Password label
input name
= password
type =
password id
= inputPassword
class =
form- control
placeholder =
Password required
div class
= checkbox
label input
type =
checkbox value
= remember-me
Ingat saya label
div button
class =
btn btn-lg
btn-primary btn-block
type =
submit Sign
in button
form div
-- container --
body html
5. Buat class Akun_model, tuliskan code dibawah ini, simpan dengan nama Akun_model.php
C:xampphtdocsmyproyekapplication