У меня проблема с этим кодом:
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Index", "User", new { Id = WebSecurity.GetUserId(User.Identity.Name) });
}
return View();
}
[HttpPost]
public ActionResult Login(LoginModel user)
{
if (ModelState.IsValid && WebSecurity.Login(user.UserName.Trim(), user.Password.Trim(), true))
{
Session["UserName"] = user.UserName;
return Redirect(FormsAuthentication.LoginUrl);
}
return Json(new { errorMessage = "Lietotāja vārds vai parole nav pareiza" });
}
UserController:
public ActionResult Index(int Id)
{
return View();
}
WebConfig:
<authentication mode="Forms">
<forms loginUrl="/Home/Index" timeout="2880" />
</authentication>
После Websecurity.login мне нужноперенаправить на Пользователь / Индекс / id .Когда я смотрю в сети, я вижу этот запрос, но просмотр страницы устарел.Когда я нажимаю F5 или перехожу на Home / Index , меня сразу же перенаправляют на User / Index / id .
Я могу сделать это в Javascript.Я получаю успех = true после входа в систему и могу обновить страницу с помощью
window.location.refresh ()
Но я хотел бы получить лучший вариант.