Closed hasanbozok closed 13 years ago
Level: 1 Name: Member
Level: 2 Name: Co-Admin
Level: 3 Name: Admin
Diye düşündüm ?
uygundur hemen tablosunu da tasarlayın.query leride bir notpad te yazılı tutun
Bu şekilde olmaz gençler. Öncelikle profesyonel işlerde member ve administrator ler ayrı tutulur. Ki zaten böyle olması en mantıklısı. İkisinin birlikte olması forum blog vb sistemlerde oldukça geçerlidir.
Permission konusuna gelince, modüller ve modüllere olan yetkiler iki ayrı tabloda tutulur. Yöneticiler tablosuyla birlikte 3 tablo olur. Performansı arttırmak için 2 tabloya düşürebiliriz ama oda anlaşılırlığı zorlaştırır.
Basit şekliyle tablolar şöyle olabilir:
yoneticiler: id nick sifre
moduller: id moduladi (içerik: musteriler, yoneticiler, arabalar, hatta detaylı olarak araba ekleme, listeleme vs. diye gider)
yonetici_yetkiler yetkiid yoneticiid modulid
bu tabloda yönetici id si ile modül id si birarada tutulacak.
varsayalımki adam araba ekleme sayfasına girdi, hemen onunla ilgili modül yetkisi varmı kontrolü yapılacak. bu kontrol public modelden bi fonksiyonla yapılabilir.
tamam da böyle işi uzatmış oluyoruz ama bence tek tabloda tutulur smf gibi tıpkı, adam araba ekleme sayfasının linkini kullanici.php de göremeyecek. Link tahmini üzerinden gider. O da şu şekilde olur; giris.php $_SESSION['level'] i kontrol eder 1 ise kullanici.php'ye 2. ise moderator.php'ye 3. ise admin.php'ye yönlendirir. Yine bu sayfaların her birinin başında isset $_SESSION['level'] kontrolü yapılır doğru ise sayfa açılır değilse locate: index.php ile exit yapılır. Hem 5 satır kod her sayfada kullanılarak yorulmamış oluruz hem de modülleri admine bağlama ve ayrı ayrı tablolarla uğraşmamış oluruz.
İlk etapta işe yarar bu lafım yok, ama yeni bir ekleme veya düzenleme yapmaya çalıştığın zaman sıçarız. ilk başta az kod yazalım derken ondan sonra iş spagettiye döner. He böyle olucaksa da kontrol fonksiyonları çok çok iyi düşünülmeli. İleride farklı bir sisteme geçildiğinde sadece bu fonksiyonlar düzenlenilerek yapılabilmeli.
smf de evet dediğin gibi yapılıyor, user groups var. ama user groupsa ait yetkilerde var. şu forumu görebilir şunu göremez anket açabilir zart zurt. benim dediğim mantığın bir benzeri. user group ile bir sorgu fazla yapılır ama çok daha az kayıt girdisi olur.
evet bende o şekil yapalım diyorum işte usergroups olmuş olacak kontrol mekanizması yazacağız, sence olur mu ? işe yarar mı dersin ?
hemen hemen bir rent a car sisteminde taş çatlasa 5 yöneticiden fazla olmaz. 5 yönetici için usergroups saçma olur bence. Yinede ilk etapta usergroups olsun o zaman. Şimdilik gruplar için tabloyada gerek yok.
tek bir user tablomuz olur kullanc izinlerini db den ayarlarz.Bana balang dzeyindeki grup elemanlar iin imdilik en anlalabilir bu geliyor
ne yorum yazmışım lan ben öyle :S
Yazıldı, hem query halleri hem açıklamaları (wikiye) yüklendi.
harikasn dier arkadalarnda hareketlenmesini umuyorum.Olmuyorsa syleyin ltfen
mahmut da uğraşıyor da hamzadan haber almadım hiç anca grupta sağolsun bana destek çıkıcağına harcıyor bakalım bakalım... :)
olur zamanla:D
Hasan BOZOK Senior Developer in ArkGameStudios www.arkgamestudios.com Esogu Bilgisayar Mh. www.hasanbozok.com
veri tabanı için kullanıcılar belirlenip izin ayarlamaları yapılacak