我的登录身份验证存在严重问题。问题是使用下面的控制器代码,我能够成功验证用户身份,但过了一段时间,整个验证页都卡住了。它看起来像循环重定向,但实际上不是循环重定向问题。我希望有人可以检查我的验证码,并告诉我这些验证码看起来是否足够标准。我还附上了调试图片,以使您更好地了解它是否正常。另请注意:但是,我把我的cookie过期了8个小时,它只是在30分钟后注销了我。我不知道这个问题是否相互关联。寻找专家意见。请问我想要的更多信息
控制器:
if (string.Compare(Crypto.Hash(model.Password), user.PasswordHash) == 0)
{
ClaimsIdentity identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, model.Email));
List<Claim> claims = new List<Claim>();
var roles = user.UserRoles.ToList();
foreach (var item in roles)
{
claims.Add(new Claim(ClaimTypes.Role, item.Roles.RoleName));
}
identity.AddClaims(claims);
identity.AddClaim(new Claim(ClaimTypes.Name, model.Email));
AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTimeOffset.UtcNow.AddHours(8) }, identity);
return RedirectToAction("Index", "Dashboard");
}
else
{
Message = "Wrong username or password";
}
调试: