Ana Sayfa / Blog Yazılarım / Cookie ile Web site giriş kodları

Cookie ile Web site giriş kodları

  • BugraSoft
  • 03.10.2024
  • 0 Yorum
  • 151 Görüntülenme

Merhaba, bugün session'dan sonra farklı bir giriş yöntemini göstereceğim. Cookie uzun süreli giriş yapmaya yardımcı olur.

İlk önce Cookie oluşturuyoruz

[HttpPost]

 public ActionResult Login(string Parola, int BinaID, string KullaniciAdi, bool? remember)

 {

     string p = Crypto.Hash(Parola, "MD5");

     var a = db.KullanicilarViews.Where(x => x.KullaniciAdi == KullaniciAdi && x.Parola == p).FirstOrDefault();

     if (a != null)

     {

 

         var tarih = a.SozlesmeBitisTarihi;

 

         HttpCookie userCookie = new HttpCookie("KullaniciBilgileri");

         userCookie.Values["KullaniciID"] = a.KullaniciID.ToString();

         userCookie.Values["AdSoyad"] =  HttpUtility.UrlEncode(a.AdSoyad.ToString());

         userCookie.Values["KullaniciAdi"] = HttpUtility.UrlEncode(a.KullaniciAdi.ToString());

         userCookie.Values["LisansTarih"] = HttpUtility.UrlEncode(tarih.Value.ToString("dd/MM/yyyy"));

               

 

         if (remember != null)

         {

             userCookie.Expires = DateTime.Now.AddDays(30); // 1 ay

         }

         else

         {

             userCookie.Expires = DateTime.Now.AddDays(1); // 1 gün

         }

 

 

         // Cookie'yi ekle

         Response.Cookies.Add(userCookie);

         return RedirectToAction("Index", "AnaSayfa");

     }

     else

     {

         ViewBag.Uyari = "Kullanıcı Adı, Şifre veya bina yanlış";

         return View();

     }

 

 }

Bu giriş kodundan sonra layoutta giriş yapılıp yapılmadığını kontrol edelim

@if (Request.Cookies["KullaniciBilgileri"] == null || Request.Cookies["KullaniciBilgileri"]["KullaniciID"] == null)

{

    Response.Redirect("/Anasayfa/Login");

}

Daha sonra Cookie'nin layouta aktarımını yapalım (Türkçe karakterlerde bozulduğu için bu yöntemi kullanın)

@{

    string kullaniciAdi = HttpUtility.UrlDecode(Request.Cookies["KullaniciBilgileri"]["KullaniciAdi"]);

    string adSoyad = HttpUtility.UrlDecode(Request.Cookies["KullaniciBilgileri"]["AdSoyad"]);

 

}
<h6>@adSoyad</h6>
<h6>@kullaniciAdi</h6>

Şimdi ise controller'da kullanmayı görelim

public ActionResult Kullanicilar()

 {

     if (Request.Cookies["KullaniciBilgileri"] == null)

     {

 

         return RedirectToAction("Login", "AnaSayfa");

     }

 

     HttpCookie userCookie = Request.Cookies["KullaniciBilgileri"];

     int KullaniciID = Convert.ToInt32(userCookie.Values["KullaniciID"]);

     ViewBag.Tahsilatlar = db.KullanicilarViews.Where(x => x.KullaniciID == KullaniciID).ToList();

     return View();

 

 }

Hepsi bu kadardı.

Yorumlar

henüz yorum bulunamadı

Yorum Yap