Bazen kod yazarken sitenizde kullanıcı grupları oluşturmak ve bu gruplara bazı özel izinler vermek istersiniz.
Bu yazımda php oturumu (session) kullanarak kullanıcı grupları yönetimlerini göstereceğim.
Bir tane global.php gibi bir dosyamız olsun. Bir de index.php gibi dosyamız olsun.
veritabanımızda ise user tablomuzda user_role diye bir bölüm olmalı.
1 = Normal Üye
2 = Sipariş Yöneticisi
3 = Ürün Yöneticisi
4 = Sistem Yöneticisi
şeklinde 4 farklı grubumuz olsun. Mesela sadece yöneticilerin göreceği bir sayfa yaptığımızı düşünelim. bu yönetim yetkisine admin_auth diyelim. Bunu bir değişken ile tanımlayalım ve global.php dosyamıza girelim.
1 2 3 4 5 6 7 8 9 |
<?php $admin_auth = array('2', '3', '4'); $auth_error = "Yetki Hatası"; ?> |
Hemen index.php dosyamızı düzenleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php session_start(); include("global.php"); if (in_array(@$_SESSION['role'], $admin_auth)) //Kodlar buraya gelecek else echo $auth_error; ?> |
Yukarıda veritabanından çektiğimiz kullanıcı rolünü $_SESSION global değişkenimize atadık. in_array fonksiyonu ile de rolün admin_auth dizisi içerisinde olup olmadığına baktık. Eğer içindeyse kodlar buraya gelecek bölümüne yazacağımız kodlara sadece 2,3,4 kullanıcı grubuna dahil olanlar bu içeriği görüntüleyebilecek. Eğer değilse auth_error hatasını döndürecek.
Bu fonksiyon daha da şekillendirilebilir. Sorusu olan arkadaşlar sorularını buradan sorabilirler. Seve seve cevaplamaya çalışırım.