2012-09-03 88 views
3

我正在开发一个ASP.NET项目,并且正在进行一些工作。 基本上,我有三个不同层次的用户 1.联系 2. DMV 3.来电在ASP.NET中获取Referer页面的URL

所有用户都具有其各自的目录,并根据他们的权利在那些可以访问的资源。当有人想登录到应用程序时,他必须使用根目录中存在的相同login.aspx页面,并且一旦登录,他将被重定向到其各自文件夹的主页,基于他特权。

在我的应用程序中,有时当会话不情愿地关闭时,用户被重定向到登录页面,或者他知道该页面的完整url,只想使用“Redirect_URL”变量快速登录并进入该页面作为查询字符串传递,他不能这样做。在这里,当他登录后,他被重定向到他的主页,这将使他再次采取一些行动来达到他所在的页面。

因此,我需要login.aspx页面来检查引用者页面的URL,使用类似HTTP_REFERER的方式将其存储在查询字符串中,例如“Redirect_url”,并且一旦用户成功登录,他将被重定向到页面,出现在“Redirect_url”变量中。

我也寻找Global.asax解决方案给予的地方,但在我的情况下,我认为上述逻辑将工作最好。

回答

5

两件事情:

第一:对于一个快速解决方案,只需使用Request.ServerVariables["HTTP_REFERER"]Request.UrlReferrer得到HTTP网址标头值。第二:使用ASP.NET的内置Forms身份验证类,他们可以为您执行重定向(和查询字符串重定向到)管理。