繁体   English   中英

更改用户单击后在登录时记住我后重新打开页面时ASP.net网站重定向到的页面

[英]Changing the page that my ASP.net site redirects to when a user reopens a page after clicking remember me on login

当用户单击登录后的“记住我”后重新打开页面时,如何更改ASP.net网站重定向到的页面。 “记住我”功能有效,但用户停留在主页上。 我希望将用户重定向到另一个页面。

该网站是用C#编写的ASP.net网站,如果需要更多信息,请发表评论。

    //
    // POST: /Account/Login
    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }

        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                //                      return RedirectToLocal(returnUrl);
                return RedirectToAction("Index", "MainPage");
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                //return View(model);
                return RedirectToAction("", "");
        }
    }

这是“登录”方法的代码。 由于某种原因,它没有达到“返回RedirectToAction”部分。 我添加了断点,并且switch(result)是“ success”。

我还可以确认正在生成cookie“ .ASPnet.ApplicationCookie”,因为我在chrome调试菜单中可以看到它。

非常感谢您的帮助!

加:

private IActionResult RedirectToLocal(string returnUrl)
        {
            if (Url.IsLocalUrl(returnUrl))
            {
                return Redirect(returnUrl);
            }
            else
            {
                return RedirectToAction(nameof(HomeController.Index), "Home");
            }
        }

使用方法:

return RedirectToLocal(returnUrl);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM