当返回网址为:
时,此代码位于Controller的ActionResult函数中RedirectToLocal("/");
“/”是什么意思? 找不到RedirectToLocal的任何文档。
修改1
好的,在同一个项目中找到了RedirectToLocal的定义,所以它不像我想的那样是内置函数:
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
//If no returnURL is stored
return RedirectToAction("Index", "Home");
}
}
答案 0 :(得分:1)
RedirectToLocal
方法是一种帮助方法,可确保重定向的URL确实是本地地址。它可以帮助您保护您的网站免受跨网站脚本攻击,其中用户输入的网址可能会转到某个有害网站。
重定向到/
会将您带到该网站的默认页面。这绝对是一个本地网址,因此RedirectToLocal("/")
与Redirect("/")
相同。
答案 1 :(得分:0)
RedirectToLocal
方法是在AccountController
的默认MVC模板中创建的。这是一个由模板构建的方法,默认情况下 是该控制器的本地方法。然后通常将其复制到基本控制器中以供其他控制器使用。
AccountController
中的目的是允许您在身份验证后重定向到相对URL(即返回到您来自的地方)。 returnUrl
的值将采用/{controller}/{action}/{id}
的形式。您正在查看的特定行将重定向到路由表中定义的默认控制器/操作(通常为Home/Index
)。