Something wrong with cookies in asp.net

622 views Asked by At

I am building a web application and when a user signs in, his credentials are first validated against the database. If the credentials are correct, a FormsAuthenticationTicket is created. Then a cookie is created from that ticket. The Expires and Path properties are set. See below.

FormsAuthenticationTicket ticket=new FormsAuthenticationTicket(1, model.User.UserName, 
DateTime.Now, DateTime.Now.AddHours(2), RememberMeCheckBox.Checked,
model.User.Id.ToString()+" "+model.User.UserType.ToString());
string cookieStr = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieStr);
cookie.Expires=ticket.Expiration; 
cookie.Path = FormsAuthentication.FormsCookiePath;
Response.Cookies.Add(cookie);
Response.Redirect("DummyForm.aspx");

And when I redirect the response to a new page, in the Page_Load event the presence of a cookie is checked.

HttpCookie cookie=HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookiePath];
if(cookie!=null)
{
    //Do stuff
}
else
{
  //Do other stuff
}

When I run the application, it behaves like the cookie variable is null. Is there something that I have omitted? Thanks in advance for your help.

cookie.Domain="localhost";
cookie.Name="My auth cookie";

I also set the domain property to localhost in web.config. However, it still doesn't work. I used the developer tools of Google to check the cookie and I can't see it there.

0

There are 0 answers