title: HTTP Error 401.0 - Unauthorized
body: <p>I have these 4 classes:</p>
  
  <pre><code>public class Personal
          {
              public int Id { get; set; }
              public string Name { get; set; }
          }
  
  public class LoginRepository
      {
          Context context = new Context();
          public Personal GetByUsernameAndPassword(Personal user)
          {
              return context.Personals.Where(u =&gt; u.Name==user.Name).FirstOrDefault();
          }
      }
  
  public class LoginApplication
      {
          LoginRepository userRepo = new LoginRepository();
          public Personal GetByUsernameAndPassword(Personal user)
          {
              return userRepo.GetByUsernameAndPassword(user);
          }
      }
  
  public class SessionContext
      {
          public void SetAuthenticationToken(string name, bool isPersistant, Personal userData)
          {
              string data = null;
              if (userData != null)
                  data = new JavaScriptSerializer().Serialize(userData);
  
              FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, name, DateTime.Now, DateTime.Now.AddYears(1), isPersistant, data);
  
              string cookieData = FormsAuthentication.Encrypt(ticket);
              HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieData)
              {
                  HttpOnly = true,
                  Expires = ticket.Expiration
              };
  
              HttpContext.Current.Response.Cookies.Add(cookie);
          }
  
          public Personal GetUserData()
          {
              Personal userData = null;
  
              try
              {
                  HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
                  if (cookie != null)
                  {
                      FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
  
                      userData = new JavaScriptSerializer().Deserialize(ticket.UserData, typeof(Personal)) as Personal;
                  }
              }
              catch (Exception ex)
              {
              }
  
              return userData;
          }
      }
  </code></pre>
  
  <p>And in my controller I have this:</p>
  
  <pre><code> public class HomeController : Controller
      {
          LoginApplication userApp = new LoginApplication();
          SessionContext context = new SessionContext();
          public ActionResult Index()
          {
              return View();
          }
          [HttpPost]
          public ActionResult Index(Personal user)
          {
              var authenticatedUser = userApp.GetByUsernameAndPassword(user);
              if (authenticatedUser != null)
              {
                  context.SetAuthenticationToken(authenticatedUser.Name, false, authenticatedUser);
                  return RedirectToAction("Index", "Asp");
              }
              return View();
          }
      }
  </code></pre>
  
  <p>but the problem is this that even if I use a correct name for login I see this error:</p>
  
  <p>HTTP Error 401.0 - Unauthorized
  You do not have permission to view this directory or page.</p>
  
  <p>I think the session is not created.
  what should I do?</p>