Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

ASP.Net de Cookies Kullanarak Login Kontrolü Yapma

Asp.net de yapılan çoğu projede kullanıcı kontrolü bu admin paneli de olabilir, kullanımaktadır. Buralar da session dediğimiz olayı kullanabilir fakat hata vermeye müsait bir yapıdır. Sebebi session ölmesidir. Session öldüğünde yapılacak işlemler tamamlanmaz ve hata verir. Bu hatayı sayfayı belli aralıklarla refresh ederek giderebiliriz.

Şimdi anlatacağım olayda ise cookies dediğimiz olayı kullanacağız. Bu web sayfasının bilgisayar localine bir adet dosya atması ile çalışır. Bu dosya adminin ayarladığı süre boyunca localinizde kalır ve siz silmedikçe o müddet dolana kadar işlev görecektir. Bu olay hem daha mantıklı hemde performans açısından daha kullanışlıdır.

Bağlantı classımız;

 

public class baglan
    {
        public static SqlConnection baglanti = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=EntityDenemedb;Integrated Security=True");
    }

İlk olarak login.aspx sayfamızı tasarlayalım ve 2 adet textbıox 1 adet buton atayalım sayfaya.Butonun click olayına ise;

 

SqlConnection cnn=new SqlConnection("");
SqlCommand cmd = new SqlCommand("select * from SiteAyarlari", cnn);
if (ConnectionState.Closed == baglan.baglanti.State)
baglan.baglanti.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (txtKullanici.Text == dr["KullaniciAdi"].ToString() && txtSifre.Text == dr["Sifre"].ToString())
{
HttpCookie myCookie = new HttpCookie("osmankurt");
myCookie["Adı"] = txtKullanici.Text;
myCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(myCookie);
Response.Redirect("Default.aspx");
}
else
{
Response.Write(alarmVer.msjBox("Hatalı Giriş"));
}
}
dr.Close();
cnn.Close();

 

Şimdi ise default sayfamıza gelelim ve kontrolümüzü yapalım bakalım doğru çalışıyor mu?, çalışmıyor mu?

if (Request.Cookies["osmankurt"] == null)
{
Response.Redirect("Login.aspx");
}

 

Şimdi ise çıkış sayfamızın yapımına geçelim. Bir adet buton atıyoruz ve click olayına alt kısımda ki kodlarımızı yazıyoruz.

Response.Cookies["osmankurt"].Expires = DateTime.Now.AddDays(-1);
Response.Redirect("Login.aspx");

 

Kodlarımız bu kadar arkadaşlar ;

Görüşmek üzere

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net ve Cookies kullanımı

Bilmiyorum farkettiniz mi hiç ama herhangi bir üyelik olan web sayfasına giriş yaptığımızda oturumumu açık tut diye bir checkbox bulunur bunu seçtiğiniz de oturumunuz siz özellikle kapatmadığınız takdirde sürekli açık kalır, yada yazılımcı ne kadar olarak belirlediyse o kadar diyelim. şimdi isterseniz gelin bizde projemizde kullanalım. Daha doğrusu ben bir örnekle anlatayım siz kendi projenizde kullanmak istediğiniz yere uygulayın.

 İlk olarak sayfamıza 2 adet textbox bir adet buton koyalım. butonumuza bastığımız anda cookies oluştursun projemiz. kodlarımızı alt kısımda ki gibi olacak;

login.aspx.cs sayfamız;

HttpCookie myCookie = new HttpCookie("osmankurt");
myCookie["Adı"] = TextBox1.Text;
myCookie["Parola"] = TextBox2.Text;
myCookie.Expires = DateTime.Now.AddDays(2); // cookiesimiz 2 gün kalsın dedik.
Response.Cookies.Add(
myCookie); // cookies ekledik
Response.Redirect("default.aspx"); 

bu sayfamız da kodlarımız bu kadar arkadaşlar. Şimdi oluşturduğumuz cookies de ki değerlerimizi diğer sayfamızda okutalım bakalım doğrumu değer oluşturuyoruz.

default.aspx.cs;

load olayına alt kısımda ki kodlarımızı yazıyoruz;

HttpCookie myCookies = Request.Cookies["osmankurt"]; // cookiesimizi okuduk
Label1.Text = myCookies["Adı"]; // değeri nesneye atadık
Label2.Text = myCookies["Parola"]; // değeri nesneye atadık 

Bu kodlarımızı da yazdıktan sonra işlemimizin başarılı birşekilde gerçekleştiğini göreceksiniz arkadaşlar.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker