Asp.net
共享相同 ASP.Net 會話 Cookie 的不同應用程序
我有兩個 ASP.Net 應用程序駐留在伺服器上的兩個不同文件夾中:
/Foo<– 這是標準的不安全應用程序/Secure<– 這是一個單獨的應用程序,需要 IIS 使用 SSL問題是,預設情況下,
ASP.NET_SessionIdcookie 是在域上指定的,並且在不同目錄中的兩個應用程序之間共享。我需要不同的會話 cookie,因為我不能允許使用被劫持的 cookie/Foo來授予對/Secure應用程序的訪問權限。理想情況下,我希望每個應用程序的 cookie 都受 cookie
Path屬性的限制。開箱即用的.Net 顯然沒有辦法做到這一點。更令人頭疼的是,即使我編寫自定義程式碼來設置 cookie 路徑,我也擔心某些瀏覽器區分大小寫並且不會對 and 使用相同的會話 cookie
/Foo,/foo這取決於連結的建構方式,可以導致同一應用程序中的多個會話。有沒有人遇到並克服了這個問題?
在 .Net 2.0 及更高版本中,您可以將 web.config 中“sessionState”XML 元素的“cookieName”屬性設置為每個應用程序的不同值。這將阻止他們使用相同的會話 ID。
檢查
/SecureIIS 中文件夾的圖示。如果它有一個齒輪圖示,那麼它是一個單獨的應用程序,會話應該不同,應用程序將在它自己的 appdomain 中執行。
如果它是一個地球圖示,那麼它就是一個虛擬目錄,將與根站點共享相同的會話,並且
/Foo.