返回网址为空,如何获取
本文关键字:何获取 获取 返回 | 更新日期: 2023-09-27 18:36:24
我正在尝试获取返回URL,但可能我错过了一些东西。网络配置是:
<authentication mode="Forms">
<forms loginUrl="~/UserAccount/Login" timeout="2880" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
LogIn.cshtml的一部分是:
@model Models.UserModel
@{
// ViewBag.Title = "Home Page";
}
@using (Html.BeginForm("LogIn", "UserAccount", new { ReturnUrl = Request.QueryString["ReturnUrl"] }, FormMethod.Post))
{
<div>
<table>
登录方法的一部分是:
[HttpGet]
public ActionResult LogIn(string ReturnUrl)
{
ViewBag.ReturnUrl = ReturnUrl;
var model = new UserModel();
return View(model);
}
[HttpPost]
public ActionResult LogIn(UserModel model, string returnUrl)
{
if (!ModelState.IsValid)
我认为这就是我必须做的所有事情,将返回URL到LogIn方法,但不起作用。我做错了什么?谢谢。
我不知道自定义授权属性在此过程中起着至关重要的作用,因此我进行了以下更改:
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new System.Web.Mvc.RedirectResult("/UserAccount/LogIn/?ReturnUrl=" + filterContext.HttpContext.Request.Url.AbsolutePath);
现在它正在工作。