在同一個IIS網站上,我有兩個名爲/ foo和/ bar的ASP.NET Web應用程序。兩者都使用表單身份驗證,我希望用戶能夠獨立登錄和註銷這兩個站點。如何設置表單身份驗證Cookie路徑
通過表單身份驗證的標準配置,它似乎爲表單身份驗證cookie發送「/」的cookie路徑。這意味着當用戶登錄到/ bar時,它會將他從/ foo中註銷,這對我來說是不受歡迎的行爲。
顯而易見的解決方案似乎是這樣的:
FormsAuthentication.RedirectFromLoginPage(username, false, Request.ApplicationPath);
這使得形式AUTH餅乾有應用程序的路徑,其允許用戶登錄到/ foo和/棒獨立地:-)但是有進一步的和更加討厭的問題:如果用戶嘗試登錄到/ Foo(使用大寫字母F),IIS將它們引導到Web應用程序/ foo,但它們永遠不能登錄,因爲瀏覽器(在這種情況下爲chrome)區分大小寫根據cookie路徑決定是否發送cookie。
這似乎是每個ASP.NET Web應用程序開發人員都會遇到的常見問題,但我無法看到它的明智解決方案。請告訴我,我錯過了明顯的東西?
感謝
安迪
更新:我發現這個http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx。它明確指出默認的Cookie路徑是/爲了區分大小寫的原因,所以基本上是肯定的,這是一個基本的問題,沒有一個簡單的通用答案 – Andy 2012-04-16 09:18:48