title: User still not authenticated after AuthCookie is added
body: <p>I have a pretty normal sign in page, just username and password fields:</p>
  
  <pre><code>&lt;h2&gt;Sign in&lt;/h2&gt;
  
  @Html.ValidationSummary()
  
  @using (Html.BeginForm("SignIn"))
  {
      &lt;p&gt;
          @Html.LabelFor(model =&gt; model.Username)
          @Html.TextBoxFor(model =&gt; model.Username)
      &lt;/p&gt;
      &lt;p&gt;
          @Html.LabelFor(model =&gt; model.Password)
          @Html.PasswordFor(model =&gt; model.Password)
      &lt;/p&gt;
      &lt;input type="submit" value="Submit"/&gt;
  }
  </code></pre>
  
  <p>I have a sign in action defined like below:</p>
  
  <pre><code>[HttpPost]
  [ActionName("SignIn")]
  public ActionResult SignInConfirmation(UserCredentialsModel model)
  {
      if (ModelState.IsValid)
      {
          var userIsValid = Membership.ValidateUser(model.Username, model.Password);
  
          if (userIsValid)
          {
              FormsAuthentication.SetAuthCookie(model.Username, false);
  
              return RedirectToAction("Index", "Home");
          }
          ModelState.AddModelError(string.Empty, "Incorrect username and\\or password.");
      }
  
      return View();
  }   
  </code></pre>
  
  <p>As well as this I have a partial that will display "Please sign in" or "Welcome <em>user</em>" depending on whether they are authenticated or now.</p>
  
  <p>I can see that the cookie is created and returned, both by debugging the code and via Fiddler.</p>
  
  <p>When the partial is hit though, the user is never authenticated:</p>
  
  <pre><code>[ChildActionOnly]
  public ActionResult Index()
  {
      if (User.Identity.IsAuthenticated)  // =&lt; This is always false.
      {
          var userDetailsModel = new UserDetailsModel
          {
              UserName = User.Identity.Name
          };
  
          return PartialView("Authenticated", userDetailsModel);
      }
      return PartialView("Unauthenticated");
  }
  </code></pre>
  
  <p>I've also tried hand rolling an <code>FormsAuthenticationTicket</code> as so:</p>
  
  <pre><code>var userData = JsonConvert.SerializeObject(new { model.Username });
  var issueDate = DateTime.Now;
  var authenticationTicket = new FormsAuthenticationTicket(1,
      model.Username,
      issueDate,
      issueDate.AddMinutes(5),
      false,
      userData);
  </code></pre>
  
  <p>but same result...</p>
  
  <p>Why am I never authenticated?</p>