次のコードを使用して、ページ間でログインユーザーIDを取得します
// login method of account model
public ActionResult Login(LoginModel model)
{
Session["username"]=model.Username;
//redirect to login controler
}
およびログインコントローラで
public ActionResult LoginLayout()
{
if(IsAdmin(Session["username"]))
return View();
else
return OtherView();
}
ブラウザを閉じてから再度開くまではすべて問題ありOtherView()
ません。ログインユーザーとして認証されている場合でも、常にリダイレクトされます。
アップデート
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
Session["username"] = model.UserName;
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}