在同一个 IIS 网站上,我有两个名为 /foo 和 /bar 的 ASP.NET Web 应用程序。两者都使用表单身份验证,我希望用户能够独立登录和退出两个站点。
使用表单身份验证的标准配置,它似乎为表单身份验证 cookie 发送了一个“/”的 cookie 路径。这意味着当用户登录 /bar 时,它会将他从 /foo 中注销,这对我来说是不受欢迎的行为。
显而易见的解决方案似乎是这样的:
FormsAuthentication.RedirectFromLoginPage(username, false, Request.ApplicationPath);
这使得表单 auth cookie 具有允许用户独立登录 /foo 和 /bar 的应用程序路径 :-) 但是还有一个更严重的问题:如果用户尝试登录 /Foo(大写 F ),IIS 将它们定向到 Web 应用程序 /foo,但它们永远无法登录,因为浏览器(在本例中为 chrome)在根据 cookie 路径决定是否发送 cookie 时区分大小写。
这似乎是每个 ASP.NET Web 应用程序开发人员都会面临的常见问题,但我看不到一个明智的解决方案。请告诉我我错过了一些明显的东西吗?
谢谢
安迪