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
    {
        // 页面的处理逻辑
    }
}

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

相关内容

热门资讯

更值得关注的是!决战卡五星游戏... 更值得关注的是!决战卡五星游戏辅助器"切实存在有辅助工具"(哔哩哔哩)决战卡五星游戏辅助器是不是有人...
教学辅助挂!科米台州麻将辅助&... 教学辅助挂!科米台州麻将辅助"竟然是有辅助器"(哔哩哔哩)1、上手简单,内置详细流程视频教学,新手小...
相较于以往!来几局是正规平台吗... 相较于以往!来几局是正规平台吗"其实确实有辅助工具"(哔哩哔哩)来几局是正规平台吗脚本下载中分为三种...
最终!朱雀开心罗松怎么开挂&q... 最终!朱雀开心罗松怎么开挂"总是是有辅助挂"(哔哩哔哩)一、朱雀开心罗松怎么开挂游戏安装教程牌型概率...
2026版规律!新西楚辅助器&... 2026版规律!新西楚辅助器"竟然确实有辅助器"(哔哩哔哩)1、每一步都需要思考,不同水平的挑战新西...
截至发稿!创思维激k辅助器&q... 截至发稿!创思维激k辅助器"一直确实有辅助攻略"(哔哩哔哩)1、每一步都需要思考,不同水平的挑战创思...
今天下午!wepoker俱乐部... 今天下午!wepoker俱乐部开挂"其实是有辅助脚本"(哔哩哔哩)1、许多玩家不知道wepoker俱...
2026版辅助挂!掌中乐游戏辅... 2026版辅助挂!掌中乐游戏辅助工具"竟然是有辅助方法"(哔哩哔哩);运掌中乐游戏辅助工具辅助工具,...
代打辅助挂!广东雀神智能插件辅... 代打辅助挂!广东雀神智能插件辅助"切实是有辅助技巧"(哔哩哔哩)广东雀神智能插件辅助辅助器是一种具有...
有了最新消息!山西奇迹打锅子辅... 有了最新消息!山西奇迹打锅子辅助"其实真的有辅助脚本"(哔哩哔哩)山西奇迹打锅子辅助破解侠是真的助透...