2
当我导航到https://mypage.net时,我有一个问题登录(因为ReturnUrl =%2f)。表单身份验证虚拟路径'/Login.aspx'映射到另一个应用程序,这是不允许的
为了解决这个问题我已经改变了我global.aspx的Application_BeginRequest:
protected void Application_BeginRequest(object sender, EventArgs e)
{
// redirect user from http to https
if (!Request.IsLocal && !Request.IsSecureConnection)
{
string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
Response.Redirect(redirectUrl);
}
// I HAVE ADDED THESE LINES!!!!!!!!!!!!!!
if (Request.AppRelativen aCurrentExecutionFilePath == "~/")
HttpContext.Current.RewritePath("Login.aspx");
}
现在似乎工作完美,但不是。
的问题是,我有另外一个虚拟应用程序如果我直接进入https://mypage.net/QA/login.aspx那么一切都很好就是通过 https://mypage.net/QA 访问。
但是,如果我进入https://mypage.net/QA然后它说:“虚拟路径‘/Login.aspx’映射到另一个应用程序,这是不允许的。”
- 如果我使用https://mypage.net/QA它给了我一个错误
- 如果我使用https://mypage.net/QA/它不给我一个错误,并为Login.aspx加载
- 我也试图改变global.aspx: HttpContext.Current.RewritePath(“* 〜/ * Login.aspx”); 但在这种情况下,当我安特https://mypage.net/qa应用程序认为我在https://mypage.net,而不是虚拟应用程序的质量保证。
你怎么处理?