24 Ağustos 2017 Perşembe

Session ve Cookie Kullanımı (Kullanıcı Girişi)

Session ve cookii'nin ikisi de server tarafından tutulan bilgilerdir. Session daha çok tarayıcı açıkken-oturum boyunca saklanancak veriler için kullanılırken; cookie ise belirtilen süre boyunca oturum kapatılsa bile saklanması istenilen veriler için kullanılır(kullanıcı adı ve şifrenin kendiliğinden gelmesi gibi.-Beni hatırla seçeneği-)

Session ve Cookie kullanımına bir örnek;



Session ve cookiler bir sistemde genelde giriş sayfasında oluşturulur, diğer sayfalarda çağırılır ve çıkış sayfasında sonlandırılırlar.

Giris.aspx.cs -Session/ Cookie Oluşturulması


 protected void btnGiris_Click(object sender, EventArgs e)
        {
              Kullanici kulGiris = Erdi.EF.Kullanicis.FirstOrDefault(x => x.Kulad == txtKulAd.Text&&x.Sifre==txtSifre.Text);
              if (kulGiris != null)
              {
                  HttpCookie cerez = new HttpCookie("cerez");
                  if (cbCookie.Checked)
                  {                     
                      cerez["KulAd"] = txtKulAd.Text;
                      cerez["Sifre"] = txtSifre.Text;
                      cerez["KullaniciId"] = (kulGiris.KullaniciID).ToString();
                      cerez.Expires = DateTime.Now.AddDays(1);
                      Response.Cookies.Add(cerez);
                  }
                  else
                  {
                      cerez["KullaniciId"] = (kulGiris.KullaniciID).ToString();
                      cerez.Expires = DateTime.Now.AddDays(1);
                      Response.Cookies.Add(cerez);                     
                  }
                  Response.Redirect("~/Kullanicilar/BilistProfilim.aspx");
              }
              else
              {
                  Response.Redirect("~/Kullanicilar/BilistGiris.aspx");
              }
         
        }


ya da


HttpCookie cerez = new HttpCookie("cerez");
                  if (cbHatirla.Checked)
                  {                     
                      cerez["KulAd"] = txtKulAd.Text;
                      cerez["Sifre"] = txtSifre.Text;
                      cerez.Expires = DateTime.Now.AddDays(1);
                      Response.Cookies.Add(cerez);

                      Session["yetkiId"] = kulGiris.yetkiID;

                  }
                  else
                  {
                      Session["yetkiId"] = kulGiris.yetkiID;           
                  }



Giriş butonuna tıklandığında beni hatırlanın seçili olup olmamasına göre kontroller sağlanır. Ayrıca giriş sayfasının pageblooadında  cookie çağırılarak kayıtlı cookie bilgileri kontrol edilir.



  protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
                return;
            HttpCookie cerez = Request.Cookies["cerez"];
            if(cerez!=null)
            {
                string Ad = Request.Cookies["cerez"]["kulAd"];
                string sifre = Request.Cookies["cerez"]["Sifre"];
                if (Ad != "" && sifre != "")
                {
                    txtKulAd.Text = Ad;
                    txtSifre.Text = sifre;
                }
            }
            else
            {

            }
        }

Diğer sayfalarda basitçe cookie çağırma işlemi ise aşağıdaki satır gibi yapılır.



int KullaniciId = Convert.ToInt32(Request.Cookies["cerez"]["KullaniciId"]);

Çıkış sayfasında ise sonlanması istenilen cookie bitirilir.


Request.Cookies["Kullanici"]["KullaniciId"] = "";

Paylaş:

0 yorum:

Yorum Gönder