2011-05-03 28 views
6

Esasen ben bir kullanıcının oturum sonraki sefer için kullanıcı adlarını kalıcı olarak giriş yapan sonra bir çerez ayarlamak çalışıyorum ısrarlı değil. Burada çerez bırakır benim kod. Çerez ayarlandığında, Firefox'ta site çerezlerine baktığımda, oturum kimliği çerezini gösterir, ancak yeni belirlediğim şeyi değil. Fiddler'daki başlıkları kontrol ettiğimde, çerezi ayarlamıyorum, yalnızca oturum kimliğimi çerezim. Tanımlama bilgisinin var olup olmadığını kontrol ettiğim yerdir.ASP.Net MVC Çerezler

if (System.Web.HttpContext.Current.Request.Cookies["username"] != null) 

İşte sen System.Web geçmesi gerekmez

public ActionResult LogOn() 
{ 
    if (System.Web.HttpContext.Current.Request.Cookies["username"] != null) 
     return View(new LogOnModel { UserName = System.Web.HttpContext.Current.Request.Cookies["username"].Value }); 
    else 
     return View(); 
} 

[HttpPost] 
public ActionResult LogOn(LogOnModel model, string returnUrl) 
{ 
    if (ModelState.IsValid) 
    { 
     if (MembershipService.ValidateUser(model.UserName, model.Password)) 
     { 
      HttpCookie hc = new HttpCookie("username", model.UserName); 
      hc.Expires = DateTime.Now.AddYears(1); 
      System.Web.HttpContext.Current.Request.Cookies.Add(hc); 

      FormsService.SignIn(model.UserName, model.RememberMe); 
      if (!String.IsNullOrEmpty(returnUrl)) 
      { 
       return Redirect(returnUrl); 
      } 
      else 
      { 
       return RedirectToAction("Index", "Home"); 
      } 
     } 
     else 
     { 
      ModelState.AddModelError("", "The user name or password provided is incorrect."); 
     } 
    } 

    return View(model); 
} 
+0

ekle söz konusu yöntemlerin tam bağlam bu. [.. .] İstek ve Yanıt nesneleriyle çalışmak. Kontrolör tarafından zaten maruz kalıyorlar. Bundan şüphe etmeme rağmen, şu anki MVC uygulamasında bulunmadığınız için şu anki durumunuz hakkında sorunlarınız olabilir. @ Adam'ın cevabı senin fikrin olsa gerek. – Gup3rSuR4c

cevap

9

Response.Cookies değil Request.Cookies

+1

+1. Ding Kolaydı. –

+0

Harika, bunun benim için basit bir şey olduğunu biliyordum. – Jhorra