0

我有 AuthorizeAttribute 检查用户是否登录,如果没有,将用户重定向到登录页面。

我想在重定向到登录页面时包含 returnUrl。目前,我使用filterContext.HttpContext.Request.RawUrl来获取当前 url。

问题是,例如,当我在 IIS 上托管应用程序http://localhost/TestApp1并尝试在 AuthorizeAttribute 中访问它时,filterContext.HttpContext.Request.RawUrl 返回/TestApp1而不是/,这是不正确的。

当应用程序托管在本地 IIS 上时,是否有任何解决方案可以获取正确的相对路径?

4

1 回答 1

0

你可以像这样得到你想要的:

string applicationPath = filterContext.HttpContext.Request.ApplicationPath;    
string returnUrl = filterContext.HttpContext.Request.RawUrl.Replace(applicationPath, "");
于 2013-07-17T14:39:51.107 回答