ASP.NET ile Login, MasterPage ve RequiredFieldValidator Kullanımı

geri

Merhabalar, ASP.NET ile kullanıcı girişi olayını veritabanına bağlantılı bir şekilde nasıl yapabilirizi anlatmaya çalışacağım. Anlatacağım mekanızmada .Net ile birlikte gelen Login nesnelerini kullanacağız. Nedeni ise güvenlik ve işlevsellik. Özellikle giriş işlemlerinde, kullanıcıyı bir önceki sayfaya yönlendirmek tam bir kabus ! Kabus derken yanlış anlaşılmasın, birazcık kod yazmak gerektirir manasında :) ASP.Net ile yapılmış sitelerde şunu illaki görmüşsünüzdür. Bir sayfa kullanıcı girişi gerektirmektedir, kullanıcı adınız ve şifrenizi yazdığınızda, eğer bilgileriniz doğru iste geldiğiniz sayfaya yönlendirilirsiniz. Bu noktada adres satırında "?ReturnUrl=Default.aspx" gibisinden bir önceki sayfanın adresi görünür. Bunu kendimiz kodlayarakta yapabiliriz fakat ASP.NET' de hazır yapılmışı zaten var :)

Öncelikle bu adresteki videoları kesinlikle izlemenizi tavsiye ederim. Bende ordan izledim

Sadece püf noktalarına değineceğim, mevcut dosyaları buradan indirebilirsiniz.

Varsayılan olarak web.config dosyamızdaki authentication mode windows dur. () öncelikle bu satırı olarak değiştiriyoruz. Varsayılan olarak giriş formumuzu Login.aspx sayfasına yönlendirir, eğer biz farklı bir dosya veya klasöre yönlendirme yapmak istersek bunun için altına şu düğümü eklememiz gerekiyor. Ben Login adında bir klasörün içerisine yönlendiriyorum.

<authentication mode="Forms"> <forms loginUrl="~/Login/"/> </authentication>

LoginView Nesnesine bir göz atalım.

<asp:LoginView ID="LoginView1" runat="server"> <AnonymousTemplate> Kimsin sen ? </AnonymousTemplate> <LoggedInTemplate> Hobaaaaa <asp:LoginName runat="server" ID="LoginName1" /> </LoggedInTemplate> </asp:LoginView> <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutPageUrl="~/Login/Exit.aspx" LogoutAction="Redirect" /> AnonymousTemplate : Kullanıcı sisteme giriş yapmamış ise görüntülenecek olan kısım. LoggedInTemplate : Kullanıcı giriş yapmış ise görüntülenecek olan kısım. LoginName : Adı üzerinde login olan kullanıcının adı veya görüntülenmesini istediğiniz bilgisi. LoginStatus : Eğer kullanıcı giriş yapmış ise Çıkış (Logout), eğer kullanıcı giriş yapmamış ise Giriş (Login) ibaresi görüntülenecek olan kısımdır. Bu nesnedeki LogoutPageUrl özelliği çıkış butonuna tıklanıldığında gidilecek olan sayfayı, LogoutAction ise çıkış butonuna tıklanıldığında yapılmasını istediğimiz işlemi belirtiyoruz.

MasterPage.master adındaki meşhur MasterPage' miz. Yani sitemizin ana şablonu ! Eğer dosyaları incelerseniz çok basit birşey olduğunu görürsünüz. Bu mekanızma sayesinde tasarım işimiz çok çok rahat bir şekilde ilerliyor.

Validation nesneleri ile formların doldurulma koşullalarını belirleyebiliyoruz. Yani şu id ye sahip alanın içine sadece rakam girilsin, yada o alan boş bırakılamasın vb.. koşulları oluşturmamıza olanak sağlıyor. Normalde JavaScript ile bu işlemi yapıyor ve gidip asp yada php kodlarımızın bulunduğu yerlerde aynı koşulları sağlamamız gerekiyorduki kaçak olmasın fakat Validation nesneleri kod kısmında da karşılaştırma yaptığı için hem çok daha güvenli hemde çok daha kullanışlı. Bir bu örneğimizde RequiredFieldValidator' u kullandık. Buradan diğer validation nesneleri hakkında bilgi alabilirsiniz.

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="kullaniciadi" ErrorMessage="Kullanıcı Adını Boş Bıraktınız.!"> </asp:RequiredFieldValidator>

Kullanımı çok basit hemen yukarıdaki örnekteki özelliklere göz atalım. ControlToValidate = Hangi form alanının kontrol edileceğini belittiğimiz etiketimiz. Forum alanın ID sini buraya giriyoruz. ErrorMessage= Adı üstünde, hata olduğunda çıkacak uyarıyı giriyoruz.

Bu kadar basit arkadaşlar, abartısız 3 dakikada basit ve güvenilir bir Kullanıcı Girişi (Login) yapabilirsiniz.

2009-02-09 | asp-net