我有AuthorizeAttribute检查用户是否已登录,如果没有,则将用户重定向到登录页面。
我想在重定向到登录页面时包含returnUrl。目前,我使用 filterContext.HttpContext.Request.RawUrl 来获取当前网址。
问题是当我在IIS上托管应用程序时,例如http://localhost/TestApp1
并尝试访问它,在AuthorizeAttribute中,filterContext.HttpContext.Request.RawUrl返回 / TestApp1 而不是 / ,这是不正确的。
当应用程序托管在本地IIS上时,是否有任何解决方案可以获得正确的相对路径?
答案 0 :(得分:0)
你可以得到你想要的东西:
string applicationPath = filterContext.HttpContext.Request.ApplicationPath;
string returnUrl = filterContext.HttpContext.Request.RawUrl.Replace(applicationPath, "");