一尘不染

Request.UrlReferrer为空?

c#

在aspx C#.NET页面(我正在运行Framework
v3.5)中,我需要知道用户来自何处,因为他们如果不登录就无法查看页面。如果我有页面A(用户想要查看的页面)重定向到页B(登录页),Request.UrlReferrer对象为null。

背景:如果用户未登录,我将重定向到“登录”页面(B在这种情况下)。登录后,我想将他们返回到他们被迫登录之前所请求的页面。

更新:
一个不错的快速解决方案似乎是:
//if user not logged in Response.Redirect("..MyLoginPage.aspx?returnUrl=" + Request.ServerVariables["SCRIPT_NAME"]);
然后,只需在登录页面上查看QueryString,然后将其强制进入即可,然后将用户放置在成功登录后的位置。


阅读 331

收藏
2020-05-19

共1个答案

一尘不染

如果使用标准成员资格提供程序,并设置目录/页面的授权,则代码将自动设置ReturnUrl的查询参数,并在成功登录后重定向。

如果您不想使用成员资格提供程序模式,建议您也手动执行查询字符串参数操作。HTTP引荐来源网址不是很可靠。

2020-05-19