在aspx C#.NET页面(我正在运行Framework v3.5)中,我需要知道用户来自何处,因为他们如果不登录就无法查看页面。如果我有页面A(用户想要查看的页面)重定向到页B(登录页),Request.UrlReferrer对象为null。
A
B
背景:如果用户未登录,我将重定向到“登录”页面(B在这种情况下)。登录后,我想将他们返回到他们被迫登录之前所请求的页面。
更新: 一个不错的快速解决方案似乎是: //if user not logged in Response.Redirect("..MyLoginPage.aspx?returnUrl=" + Request.ServerVariables["SCRIPT_NAME"]); 然后,只需在登录页面上查看QueryString,然后将其强制进入即可,然后将用户放置在成功登录后的位置。
//if user not logged in Response.Redirect("..MyLoginPage.aspx?returnUrl=" + Request.ServerVariables["SCRIPT_NAME"]);
如果使用标准成员资格提供程序,并设置目录/页面的授权,则代码将自动设置ReturnUrl的查询参数,并在成功登录后重定向。
如果您不想使用成员资格提供程序模式,建议您也手动执行查询字符串参数操作。HTTP引荐来源网址不是很可靠。