Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > ASP.NET / Silverlight / Moonlight

Cevapla
 
LinkBack Seçenekler
Eski 22/04/2008, 20:03   #1 (permalink)
Üye
 
Üyelik Tarihi: 01/2008
Mesaj: 104
Varsayılan çok rollü kullanıcı tipi kullanılan bir sitenin yapımı aşamasında takıldığım noktalar

merhaba arkadaşlar, 3 rol düşünüyorum aspnet ve access ortaklığını kullanacağım projemde a rolü, b rolü ve c rolü;

a rolüne sahip kişiler a klasorünün içine girebilecek ama b ile c klasörüne giremeyecek aynı şekilde tekrar yazmamak için bu anlattığımı aynı kombinasyonda düşünün.

her klasorün içindeki web.config'e <allow roles="a"> gibi bir olayı düşünüyorum ama anlamadığım nokta roles olayını nasıl çekecek veritabanından yani a rol'ünü nerede nasıl tanımlamalıyım, basit bir çalışma olacak ve access veritabanını kullanıcam, yardımcı olursanız çok sevinirim

iyi günler
NorthWales hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 10:56   #2 (permalink)
wanna sleep more
 
Volkan Uzun Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 11/2002
Yer: CA
Mesaj: 2,655
Varsayılan

membership provider ve role provider ile yapiyorsun bu tip seyler, asp.net/learn de bunu anlatan bi video olacakti.
__________________
http://www.msnetprogrammer.net/blog (MCP & MCTS & MVM)
Volkan Uzun hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 11:27   #3 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,827
Varsayılan

Eğer uygulamanın içinde epi topu üç rol olacaksa ve ileride arttırmayı düşünmüyorsan, direkt web.config içine yazabilirsin.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 13:05   #4 (permalink)
Üye
 
Üyelik Tarihi: 01/2008
Mesaj: 104
Varsayılan

cevaplar için teşekkür ederim de sayın anov benim kafama takılan soru web.configteki allow roles deki roles'ü accessin neresinden çekecek küçük bir kod örneği yollayabilmeniz mümkün mü?
NorthWales hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 13:32   #5 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,827
Varsayılan

Kod örneği:
** Önemli not : Her uygulamanın .config dosyası kendi kökünde olmalıdır. **

Kod:
<?xml version="1.0" ?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <authorization>
       <allow users="*"/> <!--Kök dizine tüm kullanıcılar erişebilir -->
    </authorization>
  </system.web>
  <location path="rol1_klasoru" allowOverride="true">
     <system.web>
         <allow roles="rol1"/>
         <deny roles="rol2,rol3"/>
     </system.web>
  </location>
  <location path="rol2_klasoru" allowOverride="true">
     <system.web>
        <allow roles="rol2"/>
        <deny roles="rol1,rol3"/>
     </system.web>
  </location>
  <!-- 3. ve başka klasörler için yine aynı şekilde farklı "location" düğümü açmalısın. 
       İlgili role yetki verip, diğer rolleri yasaklamalısın. Artık ihtiyacına ne uyuyorsa.
   -->
</configuration>
İkinci soruna gelecek olursak istediğin şeyi

HttpContext.Current.User

nesnesinin üyeleriyle oynayıp yapabilirsin.

HttpContext.Current.User = new GenericPrincipal(new GenericIdentity("kullanici 1", "forms"), new string[] { "rol1" });

Gibi.

Not : Son yazdığım satırı şimdi denedim, bende çalışmadı. Çalışması gerekiyor ama, nerede hata yaptım acaba, bir de sen denersin.

YazGeliştir de 1.1 için rolün nasıl belirleneceğini anlatan bir makale vardı, eğer 2.0 için görürsem buraya bağlantısını kopyalarım.

Kolay gelsin.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 14:25   #6 (permalink)
Üye
 
Üyelik Tarihi: 01/2008
Mesaj: 104
Varsayılan

cevap için teşekkürler ben birşey sormak istiyorum, session["id"] 'ye göre kontrol edip erişimin engellenmesini veya engellememesini halledebilir miyim?

mesela kişi /admin/ klasörüne girdi default.aspx te bir ifade koyup
if (session["id].hebehobo==1)
{
sss.visible=true;
.
.
.
ssX.visible=true;
}
else
response.write("Erisim Hakkiniz yok");



böyle birşey mümkün mü?
NorthWales hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 15:00   #7 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,827
Varsayılan

Öyle de olur, ama mümkün olduğu kadar asp.net in sunduğu imkanları kullanmanı tavsiye ederi(m|z)*.

* : Tahminen Volkan Uzun da aynı şeyi söyleyecek
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 15:09   #8 (permalink)
Üye
 
Üyelik Tarihi: 01/2008
Mesaj: 104
Varsayılan

ben biraz acemi olduğum için kod tabanlı çözücem sanırım işlemleri, ayrıcana bu membership, roles olaylarını kitaplardan internetten baktığım kadarıyla hep mssql server ile uyumlu diye anlatmışlar ama ben basitce access kullanmam lazım çünkü alacağım uygun fiyatlı host access destekliyor.

benim bahsettiğim bu if session["id"]<5 response.redirect("falandafilan.aspx"); tarzını anlatan bir doküman veya site varmı türkçe ?

tekrar teşekkürler
NorthWales hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 15:14   #9 (permalink)
empty
 
UuuR Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2007
Mesaj: 728
Varsayılan

ek olarak;
http://www.turkaspx.net/post/2008/04...3%bclemek.aspx
__________________
artık yok..
UuuR hatta değil   Alıntı Yaparak Yanıtla
Eski 23/04/2008, 15:15   #10 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,827
Varsayılan

Türkçe asp.net kitabı hiç okumadım, bilmiyorum.
İngilizce olarak wrox un tüm kitaplarını önerebilirim. Wrox yazarları çok kalitelidir, basit ve anlaşılır yazıyorlar.

Eğer Master Page tanımladıysan, (ki tanımlamanı tavsiye ederim) Master Page içindeki Page_Load olayında bu kontrolü gerçekleştirebilirsin.

Kod:
public void Page_Load(object sender, EventArgs e)
{
   int session_id = 0;
   
   if(!int.TryParse(Session["id"].ToString(), out session_id)
      || session_id <5)
   {
      Response.Redirect("falandafilan.aspx");
      Response.End();
   }
}
Master Page kullanmazsan, her sayfanın Page_Load olayına bu kodu yazman gerekecek ki tavsiye etmem. Bu bölümde "Master Page" aratarak, bugün içinde master page ler hakkında bilgi sahibi olabilirsin.

Kolay gelsin.

Önemli düzeltme : if kontrolünün içini değiştirdim. Yazdığım önceki şekilde Session["id"] int e çevrilemezse (boş ise) if içine girmiyor, dolayısıyla kullanıcının hiçbir bilgisi session içine kaydedilmediği halde, doğrulamayı geçiyordu.

Enson 23/04/2008 15:32 tarihinde anov tarafından düzenlenmiştir.. Sebep: Hatalı kod! Şartlara (De morgan) uyguladım.
anov hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Düşünme aşamasında bir projenin telif hakkını nasıl alırız? ntxsoft Beyin Fırtınası 11 16/12/2006 16:19
input tagindaki file tipi nesnelerde ki dosya tipi sınırlaması istiyorum simadreta Javascript / DHTML / Ajax 5 24/05/2006 10:15
Takıldığım bir SQL sorgusu... gumush Veritabanları & SQL 0 15/11/2005 01:24
noktalar bilketay PHP 2 01/04/2005 14:18
parlak noktalar crazy_gs Photoshop / Corel / PSP 8 13/06/2003 00:44


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 23:56.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net