Asp.net MVC-5 身份突然不起作用

Asp.net MVC-5 Identity suddenly not working

我正在 Asp.Net Mvc5 中开发 Web。但是今天突然登录不了了/Using identity/.

这是我的登录操作:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Login(LoginViewModel input, string returnUrl)
    {
        if (ModelState.IsValid)
        {
            string personalNo = AppStaticConfig.ServiceController.PupilLogin(input.Code, input.Password, ModelState);
            if (!string.IsNullOrEmpty(personalNo))
            {
                PupilProfile pp = AppStaticConfig.ServiceController.PupilDetail(personalNo, AppStaticConfig.SchoolID, ModelState);

                var identity = new ClaimsIdentity(new[] {
                    new Claim(ClaimTypes.Name, pp.pupil.LastName.Substring(0, 1) + "." + pp.pupil.FirstName),
                    new Claim(ClaimTypes.NameIdentifier, personalNo),
                    new Claim("pupilCode", input.Code)
                },
                    DefaultAuthenticationTypes.ApplicationCookie,
                    ClaimTypes.Name, ClaimTypes.Role); 

                    identity.AddClaim(new Claim(ClaimTypes.Role, "guest"));

                    Authentication.SignIn(new AuthenticationProperties{ IsPersistent = true }, identity);

                TempData["pp"] = pp;
                return RedirectToAction("PupilProfile", "Pupil");
            }
        }

        return View(input);
    }

这是在成功登录后重定向的 Pupil 控制器的 PupilProfile 操作:

[Authorize]
public class PupilController : Controller
{
    [HttpGet]
    public ActionResult PupilProfile()
    {
        PupilProfile pp = TempData["pp"] != null ? TempData["pp"] as PupilProfile : AppStaticConfig.ServiceController.PupilDetail(User.Identity.GetUserId(), AppStaticConfig.SchoolID, ModelState);
        return View(pp);
    }
}

我认为问题是 User.Identity 没有在 Authentication.SignIn 中设置。

任何人都知道出了什么问题吗?

问题已解决。我认为是环境问题。

我试图修复的问题:

  1. 清除浏览器中的所有缓存cookie。 /但是没有成功/
  2. 从 'Import export menu'
  3. 重置 VS2013 设置
  4. 重启OS /my os:Win8.1/
  5. 重新启动,问题已解决。

希望对大家有所帮助1。

我只是切换到不同的浏览器而已。