ASP.NET MVC 登录 ReturnUrl=%2F
创始人
2024-09-16 12:00:26
0

在ASP.NET MVC中,登录时经常需要处理ReturnUrl参数,以便在登录后返回到原来的页面。以下是一个解决方法的示例代码:

  1. 在登录页面的表单中添加一个隐藏字段,用于存储ReturnUrl的值:

  1. 在登录页面的控制器中,接收并保存ReturnUrl的值:
[HttpPost]
public ActionResult Login(string username, string password, string returnUrl)
{
    if (IsValid(username, password))
    {
        FormsAuthentication.SetAuthCookie(username, false);
        if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
        {
            return Redirect(returnUrl);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }
    }
    else
    {
        ModelState.AddModelError("", "用户名或密码不正确");
        return View();
    }
}
  1. 在需要登录的页面的控制器中,使用Authorize特性来限制访问,并在未登录的情况下重定向到登录页面:
[Authorize]
public ActionResult SomePage()
{
    // 页面的处理逻辑
}
  1. 在未登录时重定向到登录页面时,将当前页面的URL作为ReturnUrl参数传递给登录页面:
public ActionResult SomePage()
{
    if (!User.Identity.IsAuthenticated)
    {
        return RedirectToAction("Login", "Account", new { ReturnUrl = Url.Encode(Request.Url.PathAndQuery) });
    }
    else
    {
        // 页面的处理逻辑
    }
}

这样,用户在访问未登录时需要登录的页面时,会被重定向到登录页面,并在登录成功后自动返回到原来的页面。

相关内容

热门资讯

最新技巧“闽游13水辅助”素来... 闽游13水辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,闽游13水辅助作为一种经典的娱乐方式,...
透视脚本“微乐陕西小程序破解器... 您好:这款微乐陕西小程序破解器游戏是可以开挂的,确实是有挂的,很多玩家在这款微乐陕西小程序破解器游戏...
三分钟了解“科乐填大坑辅助视频... 您好:这款科乐填大坑辅助视频游戏是可以开挂的,确实是有挂的,很多玩家在这款科乐填大坑辅助视频游戏中打...
玩家必知教程“决战辅助软件”本... 玩家必知教程“决战辅助软件”本然有辅助脚本(真是有挂);亲,决战辅助软件这款游戏原来确实可以开挂的,...
记者揭秘“温州茶苑破解版”一向... 记者揭秘“温州茶苑破解版”一向有辅助工具(有挂教学);无需打开直接搜索加薇136704302(咨询了...
最新通报“浙江宝宝游戏辅助器”... >>您好:浙江宝宝游戏辅助器确实是有挂的,很多玩家在这款浙江宝宝游戏辅助器游戏中打牌都会发现很多用户...
玩家必看教程“心悦填大坑辅助器... 玩家必看教程“心悦填大坑辅助器”原生有辅助神器(有挂方法);无需打开直接搜索加(薇:13670430...
查到实测“新西部透视挂辅助器”... 您好:新西部透视挂辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
辅助透视“wepoker私人局... 辅助透视“wepoker私人局可以透视”固有有辅助开挂挂(有挂技巧);无需打开直接搜索打开薇:136...
透视透视“丫丫打锅子辅助”从来... 透视透视“丫丫打锅子辅助”从来有辅助开挂安装(详细教程);无需打开直接搜索加薇136704302(咨...