我有一个从 Internet 模板创建的 MVC 应用程序以使用表单身份验证,当用户登录时,我想将他们定向到主页|关于页面。
LogOn 方法是由项目模板创建的,无需修改;
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
// etc, etc
}
return View(model);
}
我在 Web.config 中设置了 defaultUrl,如下所示;
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" defaultUrl="~/Home/About"/>
</authentication>
但是,当调用 HomeController.LogOn 时,returnUrl 参数始终为空。注意 LogOn 方法上的 HttpPost 属性,因此不能在查询字符串中传递 url。
如何配置返回 url,以便将其传递给 LogOn 操作方法,并在登录后将用户定向到 url 的位置?