2013-07-16 69 views
2

我想爲每個客戶端子域設置例如多個子域可以共享同一個文檔根目錄嗎?

clientA.topleveldomain.comclientB.topleveldomain.com

我相信我可以在IIS做到這一點通過具有一個站點,然後例如該網站建立綁定

端口80 - clientA.topleveldomain.com

端口80 - clientB.topleveldomain.com

不過,我需要兩個子域的獨立登錄。也就是說,一旦用戶在clientA.top ...上進行了身份驗證,他們就不應該再通過clientB.top進行身份驗證....

同樣,兩者都需要獨立會話,因此在子域之間移動不會保留任何會話信息。

這項工作是否使用綁定「開箱即用」,還是需要將每個客戶端作爲單獨的網站?

該網站將是一個運行在IIS 7上的ASP.Net MVC網站。我想使用ASP.Net表單身份驗證。

+0

我認爲這歸結於由ASP.NET和/或IIS生成的cookie域,但我不記得設置的位置。它也可能是在IIS中設置的NTLM身份驗證域。嘗試登錄到一個,然後檢查流量中的身份驗證質詢中的URL,然後檢查Cookie中的路徑。 – Rup

回答

0

將此工作「開箱即用」使用綁定或我需要 是否將每個客戶端作爲單獨的網站?

是的,因爲開箱即用的Session和Forms身份驗證Cookie不是共享的跨子域。但更好的是明確設置這些cookie的domain財產在你的web.config:

<forms loginUrl="~/signin" 
     cookieless="UseCookies" 
     protection="All" 
     timeout="30" 
     slidingExpiration="false" 
     domain="clientA.topleveldomain.com" /> 

如果您使用的是集成Windows身份驗證,然後另一方面,因爲沒有餅乾它會更難參與認證過程。

+1

感謝您的回覆,但我想嘗試和所有子域有一個web.config。 – Remotec

+0

我99.99999%肯定它可以在沒有設置域的情況下工作。我只是謹慎地提出了這個建議。 –

相關問題