Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACL in PHP. Isi Kandungan Pengenalan –Apa itu ACL? –Fungsi ACL? IF Else Authorization ACL Sesi Soalsiasat.

Similar presentations


Presentation on theme: "ACL in PHP. Isi Kandungan Pengenalan –Apa itu ACL? –Fungsi ACL? IF Else Authorization ACL Sesi Soalsiasat."— Presentation transcript:

1 ACL in PHP

2 Isi Kandungan Pengenalan –Apa itu ACL? –Fungsi ACL? IF Else Authorization ACL Sesi Soalsiasat

3 Pengenalan Apa itu ACL? ACL atau akronimnya Access Control List, merupakan suatu kaedah untuk menentukan akses kepada sesuatu fungsi untuk setiap pengguna sistem. Merupakan satu terma, ACL tidak dimasukkan sebagai fungsi native PHP dan perlu dibangunkan oleh pembangun; user defined function.

4 IF Else Authentication Adalah cara mudah untuk melaksanakan authorization access dalam sesuatu sistem. Selalu digunakan dalam pembangunan PHP. Terdapat banyak kelemahan. –Sukar untuk diurus. –Kurang dinamik.

5 IF Else Authorization Contoh Aturcara

6 Senario yang mungkin berlaku… Organisasi telah berkembang, jabatan baru “Jabatan Multimedia” telah diwujudkan, sila beri akses kepada staf Jabatan Multimedia! “Jabatan Multimedia” memerlukan akses kepada Modul “Jabatan IT”! “Jabatan Multimedia” akan dimansuhkan dan staf “Jabatan Multimedia” akan diletakkan dibawah “Jabatan IT”, sila pindahkan modul “Jabatan Multimedia” kepada “Jabatan IT”.

7 ACL Kaedah ini menggunakan database, table yang diperlukan:- –acl –user –user_group –user_privilege Lebih baik implement konsep Object Oriented Programming (OOP) untuk menguruskan akses. Akses diperiksa berdasarkan kebenaran untuk menggunakan sesuatu module, bukan berdasarkan level pengguna.

8 ACL – table acl FieldTypeMisc. idINT(11) auto_increment primary_key modulesVARCHAR(100)

9 ACL – table user FieldTypeMisc. idINT(11) auto_increment primary_key nameVARCHAR(100) passwordVARCHAR(32) groupINT(11) link to id in user_group table

10 ACL – table user_group FieldTypeMisc. idINT(11) auto_increment primary_key nameVARCHAR(100)

11 ACL – table user_privilege FieldTypeMisc. idINT(11) auto_increment primary_key acl_idINT(11) group_idINT(11)

12 Code {1} fetch_ACL($level); if($appACL->check_ACL(1)) : //give access to module A elseif($appACL->check_ACL(2)) : //give access to module B elseif($appACL->check_ACL(3)) : //give access to module C endif; ?>

13 Code {2} list_ACL[$count] = 0; $count++; endwhile; if($count == $row[“id”]) : $this->list_ACL[$count] = 1; $count++; endif; endwhile; $query_acl = “SELECT count(id) AS totals FROM acl”; $result_acl = mysql_query($query_acl); $row_acl = mysql_fetch_array($result_acl); for(; $count <= $row_acl[“totals”]; $count++) : $this->list_ACL[$count] = 0; endfor; } // continues..

14 Code {3} // continues from last page function check_ACL($acl = 0) { if($this->list_ACL[$acl] == 1) : return true; else : return false; endif; } ?>

15 Sample

16 GUI for Editing ACL {1} mysql_fetch_array($result_group)) : $levels[$row_group["id"]] = $row_group["name"]; endwhile; ?> Module

17 GUI for Editing ACL {2}

18 GUI for Editing ACL {2}

19 GUI for Editing ACL {3} $counts = 0; for($list = 0; $list < count($menu_id); $list++) : print " "; print " ".$menu_name[$list]." "; foreach($levels as $level => $name) : $checked = ((isset($menu_access[$list][$level]) and $menu_access[$list][$level] == 1) ? "checked='checked'" : ""); print " "; $counts++; endforeach; print " "; endfor; ?>

20 Submit ACL


Download ppt "ACL in PHP. Isi Kandungan Pengenalan –Apa itu ACL? –Fungsi ACL? IF Else Authorization ACL Sesi Soalsiasat."

Similar presentations


Ads by Google