C# - ASP.NET MVC でユーザーを切断するときの問題

okwaves2024-01-25  10

認証に関して 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();
    }

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。