認証に関して ASP.Net MVC に問題があります。ユーザーは問題なくログインおよびログアウトできましたが、戻るボタンをクリックすると時計のブラウザにログインしたままになります。
誰か助けてくれませんか!!!
また、Visual Studio のデフォルトの認証を使用していないことにも注意してください。
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
var isValidUser = IsValidUser(model);
if(isValidUser != null)
{
FormsAuthentication.SetAuthCookie(model.UserMail, true);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("Eror", "Invalid login attempt");
return View();
}
}
else
{
return View(model);
}
}
public User IsValidUser(LoginViewModel model)
{
using(var db = new DbCaimanContext())
{
User user = db.Users.Where(q => q.UserMail.Equals(model.UserMail) && q.Password.Equals(model.Password)).SingleOrDefault();
if (user == null)
return null;
else
return user;
}
}
そして、これが私の切断方法です:
public ActionResult LogOut()
{
FormsAuthentication.SignOut();
Session.Abandon();
return RedirectToAction("Login");
}
認証方法の詳細とコード例を入力してください。ユーザーをログアウトする方法。
– ツァヒ・アッシャー
2020 年 9 月 3 日 11:52
投稿を更新しました
– サンダーブラック
2020 年 9 月 3 日 12:07
Session.Clear(); を試してみましたか? Session.Abandon() の前; ?
– シクロー
2020 年 9 月 3 日 12:14
いいえ、まだです。今すぐにやります...
– サンダーブラック
2020 年 9 月 3 日 12:18
1
これであなたの質問は解決しましたか? C#を使用してasp.netでユーザーがログオフしたときにブラウザーのキャッシュをクリアするにはどうすればよいですか?ブラウザの戻るボタンを押した後に表示される内容がローカル キャッシュにある可能性があります。そのページのキャッシュを無効にすることができます。
– ダーループカット
2020 年 9 月 3 日 12:26
------------------------
Login Get メソッド内
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
if (HttpContext.User.Identity.IsAuthenticated)
return RedirectToAction("Index", "Main");// go to anywhere you want
else
return View();
}