2010-01-18 31 views
1

使用安全連接(https)登錄到mvc站點後,使用https連接調用動作顯示登錄用戶,但使用http調用動作,它像用戶一樣擁有沒有登錄。ASP.NET MVC在安全內容與非安全內容之間切換

因爲我需要使用一個虛擬目錄https連接(而不能使用HTTP連接該目錄) 的HTTP連接開始: HTTPS://www.sitename.com/ VDIR/ HTTP://www.sitename.com/...

任何想法是什麼導致了這種行爲...... http連接下手?

任何幫助非常感謝。 謝謝!

回答

3

除非您願意使用SQL狀態或狀態服務器,並且使用(不安全?)無Cookie會話模式,否則兩個不同的虛擬目錄不能在IIS 6中共享會話信息。

要完成想要的行爲,請在主站點上打開端口80和端口443,以便您可以使用http://sitename.comhttps://sitename.com訪問它們。然後,您可以隨時在http和https之間切換。只是不同的協議不同的虛擬目錄的想法。

+0

謝謝!由於它是共享SSL(它只是一個測試站點),我不得不爲https連接使用特殊的虛擬目錄。 當我使用同一個目錄(打開80和443端口)時,這會好嗎?所有子目錄是否共享會話信息? 根據託管公司它是在IIS7上,這會有所作爲嗎? – Debra 2010-01-18 15:26:46

+0

您需要在VD之間的IIS 7中強制執行會話共享。這可能是afaik,但我從來沒有用過它。如果你有一個網站有多個端口,這將按預期工作。只要它們在同一虛擬目錄/網站中,多個子目錄就會共享同一個會話。 – 2010-01-18 16:05:46

+0

嗯,我無法找到任何證明爲我的早期聲明,這可能在IIS 7中。如果任何人發現有關如何配置此信息,請將此添加到答案:-) – 2010-01-18 16:08:01