Мой случай отличается, когда я вошел в приложение, а затем сразу же закрыл браузер, а затем снова открыл браузер и перешел на страницу входа в систему. Чтобы нажать кнопку входа в систему без ввода имени пользователя или пароля, выдается эта ошибка:
«Предоставленный маркер защиты от подделки предназначен для пользователя, основанного на утверждениях, отличного от текущего пользователя».
и эта проблема решается, когда я обновляю страницу с помощью "Ctrl + F5".
как решить эту проблему, я много искал и делал в основном все, что рассказывали другие люди.
- [AllowAnonymous]
- [OutputCache (NoStore = true, Location = OutputCacheLocation.None)]
добавить это в мой метод действия контроллера
а также используйте if session.abandon ();
но ничего не изменилось, а также я добавил машинный ключ в мой файл веб-конфигурации, но ничего не изменилось.
Примечание: - не использовать в нем никакой аутентификации формы.
[AllowAnonymous]
[OutputCache(NoStore = true, Location = System.Web.UI.OutputCacheLocation.None)]
public ActionResult Login(string returnUrl)
{
Session.Abandon();
Session.Clear();
ViewBag.ReturnUrl = returnUrl;
var AutheticationManager = HttpContext.GetOwinContext().Authentication;
// AutheticationManager.SignOut();
AutheticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
LoginViewModel model = new LoginViewModel();
if (Request.Cookies["unm"] != null)
{
HttpCookie unm = (HttpCookie)Request.Cookies["unm"];
model.Email = unm.Value;
}
if (Request.Cookies["pas"] != null)
{
HttpCookie pas = (HttpCookie)Request.Cookies["pas"];
model.Password = pas.Value;
}
if (Request.Cookies["rem"] != null)
{
HttpCookie rem = (HttpCookie)Request.Cookies["rem"];
if (rem.Value.ToLower() == "true")
model.RememberMe = true;
else
model.RememberMe = false;
}
return View();
}
что мне нужно сделать, чтобы преодолеть эту ошибку.
пожалуйста, дайте мне знать, любая помощь очень ценится.