Anasayfa / Yazılım / ASP.NET / ASP.NET Kayıt Otomasyon Örneği ? 2

ASP.NET Kayıt Otomasyon Örneği ? 2

Şimdi uygulamamıza kaldığımız yerden devam ediyoruz. Bu yazıdan önce aşağıdaki yazıyı okumadı iseniz okuyunuz.

ASP.NET Kayıt Otomasyon Örneği ? 1

Bizim uygulamamızda yönetici adlarını ve şifrelerini bir txt dokümanında saklıyoruz. Bu dokümandan veri okuma işlemi yapabilmemiz için System.IO namespace’ini mutlaka kullanmamız gerekiyoruz. Dolayısı ile öncelikle Default.aspx web formumuzun code – behind tarafında namespace alanına System.IO ekliyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

Daha sonra WEB formumuzda yer alan buton kontrolüne çift tıklıyoruz ve aşağıdaki kodları yazıyoruz. Kod içinde açıklamalarım mevcut.

protected void btnGiris_Click(object sender, EventArgs e)
    {
        //ilk anda label kontrolümün içeriğini sıfırlıyorum, çünkü daha önceden giriş yapılma denenmiş 
        //ve hata mesajı alınmışsa bu mesajı silmem gerekiyor
        lblMesaj.Text = "";
        //Txt dokümanımdan veri okumam gerektiği için önce bir FileStream nesnesi oluşturuyorum, okuma işlemi yapacağım
        //için FileMode open ve erişimim de Read olabilir. Server.MapPath ile de txt dokümanımın adresini veriyorum
        FileStream fs = new FileStream(Server.MapPath("Yoneticiler.txt"), FileMode.Open, FileAccess.Read);
        //StreamReader ile sr nesnesi oluşturup fs yi bağlıyorum.
        StreamReader sr = new StreamReader(fs);
        //giriş bilgisini default olarak false yapıyorum, çünkü ilk aşamada elimde doğru bilgi yok
        bool Girisbilgisi = false;
        //kayıtlarım içinde yani txt dokümanı içindeki verilerde satır satır donebilmek için while döngüsü kuruyorum
        //satırlar bittiğinde -1 değeri döner, satır bitmediği sürece dön diyorum
        while (sr.Peek() != -1)
        {
            //her bir satırı kayit değişkenime alıyorum
            string kayit = sr.ReadLine();
            //kullanıcı adı ve şifrem boşluk karakteri ile ayrılıyordu, index of ile bu boşluk karakteri nerede
            //bunu buluyorum
            int ayrac = kayit.IndexOf(" ");
            //kullanıcı adım boşluk karakterine kadar olan kısım, bunu substring ile alıyorum
            string kulAd = kayit.Substring(0, ayrac);
            //eğer aldığım kullanıcı adı textbox ile eşleşiyorsa if içinden devam ediyorum
            if (kulAd == txtKullaniciAdi.Text)
            {
                //kullanıcı adım doğru ise şimdi şifreye bakmam gerek. Kullanıcı adımı bölüğüm yere +1 ekliyorum
                //çünkü aradaki boşluk karakterinden sonra olan kısım bizim şifremiz, bunu sifre değişkenime alıyorum
                string sifre = kayit.Substring(ayrac + 1);
                //eğer sifre değişkenim textboxa girdiğim şifre ile aynı ise if içinden devam ediyorum
                if (sifre == txtKullaniciSifresi.Text)
                {
                    //Eğer bilgilerim doğruysa session açıyorum, kullanıcı bilgisi doğrudur ve döngüden break
                    //ile çıkıyorum.
                    Session["Yonetici"] = kulAd;
                    Girisbilgisi = true;
                    break;
                }
            }
                //tüm bunlar yanlış ise kullanıcıbilgisi hala false olur
            else
            {
                Girisbilgisi = false;
            }
        }
        //Eğer girisbilgisi doğruysa yoneticiyi panel sayfama yönlendiriyorum..
        if (Girisbilgisi)
        {
            //açmış olduğum fs ve sr nesnelerimi sırası ile (en son açılan önde kapanır)
            //kapatıyorum, performans açısından önemli..
            sr.Close();
            fs.Close();
            Response.Redirect("YoneticiPaneli.aspx");
        }
            //eğer giris bilgisi hatalı ise hata mesajı verdiriyorum
        else
        {
            //açmış olduğum fs ve sr nesnelerimi sırası ile (en son açılan önde kapanır)
            //kapatıyorum, performans açısından önemli..
            sr.Close();
            fs.Close();
            lblMesaj.Text = "Kullanıcı bilgileriniz hatalıdır!";
        }
    }

Şimdilik kullanıcı giriş işlemimiz tamam gibi, projeme sağ tıklayıp Add New Item diyorum ve bir adet Web formu daha ekliyorum adını ise YoneticiPaneli.aspx yapıyorum.

Şimdiye kadar ne yaptık özetleyeyim. Tasarımı oluşturduktan sonra kullanıcı adı ve şifrenin doğru olup olmadığını kontrol ederek kullanıcının giriş yapıp yapmamasına izin verme durumunu gerçekleştirdik. Burada bilgilerimizi daha önceden oluşturmuş olduğumuz txt dokümanından okuyoruz. Bu doküman içindeki veriler ile girilen veriler eşleştiğinde kullanıcımızı YoneticiPaneli.apx sayfasına yönlendiriyoruz. Eğer veriler eşleşmiyorsa bu sefer kullanıcımızı yönlendirmiyoruz. Bir sonraki yazımda da YoneticiPaneli.aspx sayfasındaki tasarımımızı yapacağız. Uygulamanın şu ana kadar olan kısmını aşağıdaki linkten indirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir