Veritabanı (Yardım)
-
Arkadaşlar yeni bir sistem kodluyorum, sistemde farklı yetkilere sahip kullanıcılar var. Ve tabi ki user'ların girebildiği sayfalar. Ama bu sayfaların sayısı sabit değil. Aynı şekilde kullanıcı rütbeleri de sabit değil.
Şimdi yapmak istediğim şu
Mesela yeni bir sayfa oluşturdum ve bu sayfaya sadece admin ve modlar girsin istiyorum.
Başka bir sayfaya da sadece adminler.
Her sayfanın kendine ait bi ID'si var. Oraya girecek yetkilileri veri tabanında nasıl bir şablonda belirtirsiniz?
Kendime göre basit bi çözüm getirdim ama daha kaliteli fikirleriniz varsa ona göre kod'umu tekrar düzenlemeyi düşünüyorum.
Internette araştıracaktım bu konuyu ama düzgün kelimelerle ifade edemedim (:
Şimdiden teşekkürler..
-
öncelikle kolay gelsin hocam :)
şimdi şöyle bir yapı işini fazlasıyla görecektir,
Sayfa(No(int),Url(varchar),HerkeseAcikMi(bit),SistemSayfasiMi(bit) birde Yetki tablosu yaparsın
Yetki(No(int),SayfaNo(int),RolNo(int)) birde tabi rol ve üyelik tablosuna ihtiyacın var.
Kontrolüde web sitesine request gerçekleştiğinde. global.asa veya global.asax (php'de nedir bilmiyorum :) )'da kontrol edebilirsin.Eğer sayfa herkese açıksa hiç bi kontrol yapmana gerek yok, ha eğer herkese açık değilse giriş yapmış kişinin rolüne göre izin verirsin veya vermezsin.
Yani senin yazdığına yakın bi çözüm.
-
Ben sana en güzel nasıl yapılacağını söyliyim de sen nasıl yaparsan yap hocam.
Bir tane sayfa oluşturucaksın , o sayfada switch kontrolü ya da if kontrolü yapıcaksın , sessiondan gelen değer admin değeriyse yada mesela admin "10" olsun , mod "9" olsun. diceksin ki değer 10 ise şunu şunu yap , 9 ise şunu şunu yap , else koyacaksın , bunlar değilse hadi yallah senin bu sayfaya giriş yetkin yok. sonra o sayfayı gerekli yerlerde kullanırsın istediğin değişkenlere göre , o sayfalar cagırıldıgında önce o kontrolden geçer sonra sayfayı ona göre yorumlar.
Tam anlatamamış olabilirim , anlamadım biraz daha aç dersen de öyle bi şansım yok hocam. Dediğimi anlayan arkadaşlar açabilir isterlerse.
-
komplike bir şey bu. kod la veritabanı tam uyum içinde olmalı ilk başlarda çalışan kodlar bir zaman sonra iflas bayrağını çekiyor. en basitini yapmak bile basit değil hastalık gibi. hasta ediyor insanı biraz zeki ediyor. ama yinede hasta oluyorsun.. Dreamweaver action larında login script hazırlama durumları var. sql den yerlerini gözterip sorgulama yapabilir kullanıcıları sınıflandırabilirsin.zamandan koddan haylice kazanırsın yanlış yaptımmı gibi bir derdin de olmayacaktır. bi araştır.
-
sayfalar için id sayfa title falan oluşturdun ya sayfa için bide yetki diye oluştur hangi yetkinin girmesini istiyosan onun numarasını yaz mesela 9 mod olsun 9 yaz
üyeler kısmınıda işte id ad soyad email yetki yap 9 da bunun yetkisine yazdır sayfadada < le kontrol ettirirsin yetki 9 dan küçükse açılmaz. -
sayfa tablosuna yetki aç
1 herkes 2 admin ve mod 3 adminler ;)
-
RootB bunu yazdı:
-----------------------------
Ben sana en güzel nasıl yapılacağını söyliyim de sen nasıl yaparsan yap hocam.
Bir tane sayfa oluşturucaksın , o sayfada switch kontrolü ya da if kontrolü yapıcaksın , sessiondan gelen değer admin değeriyse yada mesela admin "10" olsun , mod "9" olsun. diceksin ki değer 10 ise şunu şunu yap , 9 ise şunu şunu yap , else koyacaksın , bunlar değilse hadi yallah senin bu sayfaya giriş yetkin yok. sonra o sayfayı gerekli yerlerde kullanırsın istediğin değişkenlere göre , o sayfalar cagırıldıgında önce o kontrolden geçer sonra sayfayı ona göre yorumlar.
Tam anlatamamış olabilirim , anlamadım biraz daha aç dersen de öyle bi şansım yok hocam. Dediğimi anlayan arkadaşlar açabilir isterlerse.
-----------------------------sistem komplike bi sistem olcaksa sessionlar sistemi yorabilir
-
Anlatamadım sanırım tam olarak..
Önceden de söylediğim gibi, user seviyeleri sabit değil. Admin,user,mod.. İlerde yeni rütbeler de eklenebilir.
Aynı şekilde sayfalar da da. Bi sayfaya sadece adminler girsin derken, bi tanesne admin ve modlar bi tanesine mod ve userlar girsin diyebilmeliyim..
Tamamıyla esnek birşeyden bahsediyorum yani (:
-
sayfaya admin mod user die sütun aç 1 olan girebilsin 0 giremesin. daha esneği olmaz.
iflerle kontrol edebilirsin
-
tolgasen bunu yazdı:
-----------------------------
sayfaya admin mod user die sütun aç 1 olan girebilsin 0 giremesin. daha esneği olmaz.
iflerle kontrol edebilirsin
-----------------------------Oluyor hocam (:
Senin dediğin mantıkla gidersem her yeni rütbe eklediğim zaman sayfa tablosunun sonuna bir hücre daha eklemem gerekecek...
Bu da verimli değil.
Kendi kullandığım yöntemi söyleyeyim de, daha verimli birşey arıyodum.
Bi tane yetki tablom var mesela..
ID Isım
1 admin
2 mod
3 user
4 editor
vs vs..
Sayfaların olduğu tabloda da bi tane yetki diye hücrem var.
Girmesini istediğim rütbeleri tek bir hücrenin içine, string olarak ekliyorum.
"1,3,5,7," gibi...
Kontrol sırasında da adam'ın yetkisini session'dan alıp.
string içinde aratıyorum. mesela adam'ın yetkisi 5. bu hücre içinde "5," geçiyor mu diye kontrol ediyorum. Varsa izin veriyorum geçişine..
Ama dediğim gibi bu yöntem bana verimli gelmiyor daha iyi bi alternatife ihtiyacım var... :|
-
ZoktriP bunu yazdı:
-----------------------------
tolgasen bunu yazdı:
-----------------------------
sayfaya admin mod user die sütun aç 1 olan girebilsin 0 giremesin. daha esneği olmaz.
iflerle kontrol edebilirsin
-----------------------------Oluyor hocam (:
Senin dediğin mantıkla gidersem her yeni rütbe eklediğim zaman sayfa tablosunun sonuna bir hücre daha eklemem gerekecek...
Bu da verimli değil.
Kendi kullandığım yöntemi söyleyeyim de, daha verimli birşey arıyodum.
Bi tane yetki tablom var mesela..
ID Isım
1 admin
2 mod
3 user
4 editor
vs vs..
Sayfaların olduğu tabloda da bi tane yetki diye hücrem var.
Girmesini istediğim rütbeleri tek bir hücrenin içine, string olarak ekliyorum.
"1,3,5,7," gibi...
Kontrol sırasında da adam'ın yetkisini session'dan alıp.
string içinde aratıyorum. mesela adam'ın yetkisi 5. bu hücre içinde "5," geçiyor mu diye kontrol ediyorum. Varsa izin veriyorum geçişine..
Ama dediğim gibi bu yöntem bana verimli gelmiyor daha iyi bi alternatife ihtiyacım var... :|
-----------------------------hocam üzerine alınmada, bende bu tribi anlamıyorum "performanslı olmaz" abi sen neyin performansını sorguluyorsun 50.000 kullanıcılı sitede..
hadi 1 milyon 2 milyon kullanıcı olur tamam o zaman bana performansdan bahsedin ama, bi if kontrolünün ne performans kaybı ?
