3

我正在开发一个 ASP.NET 项目,目前正在做一些事情。基本上,我有三个不同级别的用户 1. Admin 2. DMV 3. Caller

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

在我的应用程序中,有时当会话不情愿地关闭时,用户被重定向到登录页面,或者他知道页面的完整 url,只想快速登录并使用作为查询传递的“Redirect_URL”变量进入该页面弦,他做不到。在这里,当他登录时,他会被重定向到他的主页,这将使他再次执行许多操作以到达他所在的页面。

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

我还在某处寻找了 Global.asax 解决方案,但就我而言,我认为上述逻辑效果最好。

4

1 回答 1

5

两件事情:

首先:为了快速解决,只需使用Request.ServerVariables["HTTP_REFERER"]orRequest.UrlReferrer获取 HTTP Referrer 标头值。

第二:使用 ASP.NET 内置的 Forms 身份验证类,它们可以为您执行重定向(和查询字符串重定向到)管理。

于 2012-09-03T04:30:09.370 回答