Database - Veritabanı
Yetkilendirmeli Admin Yönetimi | Veritabanı Tasarımı - Yardım
Yetkilendirmeli Admin Yönetimi | Veritabanı Tasarımı - Yardım
-
oluşturduğum yönetim panelinde adminlerin yetkilerini sınırlamam gerekiyor.
üstatlar bu işi nasıl çözüyorlar, standart bir olayı var mı, tekerleği baştan icat etmenin manası yok (:
sizin bunun için kullandığınız bir veritabanı tasarımı var mı ?
-
Hoca daha yeni bende bunu yapıyordum. tblseviyeler diye bir tablo oluştur.
seviye: (Otomatik Sayı)
haber_izin (Sayı 0/1)
yorum_izin (Sayı 0/1)
seviye | haber_izin | yorum_izin
1 0 0
2 0 1
3 1 0
Seviyesi 1 olanlar haber yazabilir ve yorum onaylayamaz
Seviyesi 2 olanlar haber yazamaz ve yorum onaylayabilecek
Seviyesi 3 olanlar haber yazabilir ve yorum onaylayabilecek
-
hacı eyv yalnız şöyle bi durum var, yeni bir bölüm eklendiği zaman
oranın yönetimi içinde veritabanında ayrı bir sütun mu olusturmam gerekiyor ?
-
ThundeR bunu yazdı:
-----------------------------
hacı eyv yalnız şöyle bi durum var, yeni bir bölüm eklendiği zaman
oranın yönetimi içinde veritabanında ayrı bir sütun mu olusturmam gerekiyor ?
-----------------------------Hoca, bu seviyeler tablosunu üyeler tablosuyla ilişkilendirmen gerekecek öncelikle. Mesela üyeler tablosunda seviye (sayı) diye bir sütun olacak.
Senin sorun içinse, evet orada ayrı bir sütun açıp ilgili_izin (0/1) yapman gerekecek
-
dostum bu cok mantıklı değil gibi, sütun sayısı azken problem gibi görünmüyor ama bu sayı arttığı zaman cok fazla permütasyon cıkabilir senin çözümünde.
paylaşımın için teşekkürler ama aradığım o değil (:
-
Düzenleme: Yanlış anlamışım.
-
adminlerin seviyelerini belirle mesela
1 den 10 a kadar
gerisinide sayfa içinde
sorgulatcan
atıyorum yetki 10 ise her boka mudahale edebilsin
8 ise bganlama sayfasına ulaşamasın 5 ise haberleri editleyemesin gibi
onun içinde admin tablosuna bi hücre eklemen lazım yetki diye
bana kalırsa tekerleği yeniden icar et hiç unutmassın
-
mmm şöyle bir yapı önerebilirim,
kullanıcı, rol,sayfa,yetki
ilk 2 tabloyu oluşturduğunu varsayarsak,
veritabanına sayfa tablosunu ekliyorsun, url(nvarchar),herkesgorebilirmi(bit) diye bir kolonda ekle
ardından yetki tablosunda,sayfaNo,RolNo {goruntule,ekle,sil,guncelle}(bit) değerler veriyorsun
bunlarıda global.asa(asp),global.asax(.net) php de htaccess falan sanırım onu bilmiyorum,request geldiğinde ona göre adama yön veriyorsun.herkese açıksa hiç bi kontrol yapmana gerek yok.
şimdi dersen adamın ekle ye yetkisi yok ama güncellemeye var,onuda butonların visible'larıyla oynayarak yapabilirsin.
bu yapı gerçekten büyük ve ayrıntılı bir yapı bunu kullanman zor olabilir bilgin az ise,ama en azından fikir verecektir :)
-
SharpShooter bunu yazdı:
-----------------------------
mmm şöyle bir yapı önerebilirim,
kullanıcı, rol,sayfa,yetki
ilk 2 tabloyu oluşturduğunu varsayarsak,
veritabanına sayfa tablosunu ekliyorsun, url(nvarchar),herkesgorebilirmi(bit) diye bir kolonda ekle
ardından yetki tablosunda,sayfaNo,RolNo {goruntule,ekle,sil,guncelle}(bit) değerler veriyorsun
bunlarıda global.asa(asp),global.asax(.net) php de htaccess falan sanırım onu bilmiyorum,request geldiğinde ona göre adama yön veriyorsun.herkese açıksa hiç bi kontrol yapmana gerek yok.
şimdi dersen adamın ekle ye yetkisi yok ama güncellemeye var,onuda butonların visible'larıyla oynayarak yapabilirsin.
bu yapı gerçekten büyük ve ayrıntılı bir yapı bunu kullanman zor olabilir bilgin az ise,ama en azından fikir verecektir :)
-----------------------------abi naptınız ya kullanıcıların olduğu tabloya bi yetki hücresi eklicek
sonra sorgulatıp işlem yapcak
if ($yetki>5) { vs. }
en kolayı bu
-
snnyk bunu yazdı:
-----------------------------
SharpShooter bunu yazdı:
-----------------------------
mmm şöyle bir yapı önerebilirim,
kullanıcı, rol,sayfa,yetki
ilk 2 tabloyu oluşturduğunu varsayarsak,
veritabanına sayfa tablosunu ekliyorsun, url(nvarchar),herkesgorebilirmi(bit) diye bir kolonda ekle
ardından yetki tablosunda,sayfaNo,RolNo {goruntule,ekle,sil,guncelle}(bit) değerler veriyorsun
bunlarıda global.asa(asp),global.asax(.net) php de htaccess falan sanırım onu bilmiyorum,request geldiğinde ona göre adama yön veriyorsun.herkese açıksa hiç bi kontrol yapmana gerek yok.
şimdi dersen adamın ekle ye yetkisi yok ama güncellemeye var,onuda butonların visible'larıyla oynayarak yapabilirsin.
bu yapı gerçekten büyük ve ayrıntılı bir yapı bunu kullanman zor olabilir bilgin az ise,ama en azından fikir verecektir :)
-----------------------------abi naptınız ya kullanıcıların olduğu tabloya bi yetki hücresi eklicek
sonra sorgulatıp işlem yapcak
if ($yetki>5) { vs. }
en kolayı bu
-----------------------------abi maksat farklı yollarda sunmak,insanlar görsün ufukları açılsın :P
-
snnyk bunu yazdı:
-----------------------------
SharpShooter bunu yazdı:
-----------------------------
mmm şöyle bir yapı önerebilirim,
kullanıcı, rol,sayfa,yetki
ilk 2 tabloyu oluşturduğunu varsayarsak,
veritabanına sayfa tablosunu ekliyorsun, url(nvarchar),herkesgorebilirmi(bit) diye bir kolonda ekle
ardından yetki tablosunda,sayfaNo,RolNo {goruntule,ekle,sil,guncelle}(bit) değerler veriyorsun
bunlarıda global.asa(asp),global.asax(.net) php de htaccess falan sanırım onu bilmiyorum,request geldiğinde ona göre adama yön veriyorsun.herkese açıksa hiç bi kontrol yapmana gerek yok.
şimdi dersen adamın ekle ye yetkisi yok ama güncellemeye var,onuda butonların visible'larıyla oynayarak yapabilirsin.
bu yapı gerçekten büyük ve ayrıntılı bir yapı bunu kullanman zor olabilir bilgin az ise,ama en azından fikir verecektir :)
-----------------------------abi naptınız ya kullanıcıların olduğu tabloya bi yetki hücresi eklicek
sonra sorgulatıp işlem yapcak
if ($yetki>5) { vs. }
en kolayı bu
-----------------------------ayrı bi yetkisi tablosu yapıp üyeler tablosunu onla ilişkilendir
üyeler tablosunda fazladan bi sütun üyeler tablosu doldukca veri tekrarı olucagı için fakrlı tablo daha mantıklı