2011-03-04 44 views
0

我有哪些主機在IIS下2位點的W2K3服務器,這樣我有Mysite.com和foo.mysite.comasp.net域/子域的認證工作不正常

我試圖使用窗體身份驗證和單一登錄。

這兩個站點都有相同的機器密鑰,並且相同的域以a爲前綴。在web.configs中。

我遇到的兩個問題是;

1)如果我去http://www.mysite.com/login.aspx,並登錄,然後導航到子域,它將我重定向回登錄頁面。

但是,如果我去http://mysite.com/login.aspx並登錄,那麼導航到它工作的子域。那麼爲什麼它將www.mysite.com和mysite.com視爲單獨的域名,從而使我的身份驗證無效?

這是我的理解是,添加域=「。mysite.com」將適用於該域下的所有子網站。

2)如果我將子域名登錄URL更改爲mysite.com而不是www.mysite.com,並首先點擊子域名,它會重定向到登錄表單,但是當我登錄時它不會重定向到子域名,而是查找主站點上的子域頁面。即瀏覽到foo.mysite.com/bar.aspx,它會重定向到登錄頁面,登錄時它現在會嘗試顯示mysite.com/bar.aspx而不是我第一次請求的頁面。

任何幫助解釋和解決這些問題是非常值得歡迎的!

謝謝

作爲此更新。我在這個網站的其他地方發現了重定向問題的工作。不知道爲什麼它不像我預期的那樣工作,但我現在可以穿過那一個。

其次(在我的測試系統上)以編程方式指定域與www一起工作。而在配置文件中使用domain =「」則不會。

回答

0

爲什麼指定域?另外,爲什麼不使用配置繼承,這可以跨應用程序池。

+0

你讓我失去了一點點。我需要在配置文件中指定域,以便它適用於子域。配置文件的工作,我遇到的問題是爲什麼它不會重定向回到子域,如果我成功登錄第一次,以及爲什麼把www。在我的域名之前導致.net將此視爲單獨的身份驗證cookie。 – Matt 2011-03-04 16:15:28

+0

我明白了,我以爲你出於某種原因使用了子文件夾。你見過這個帖子嗎? http://stackoverflow.com/questions/608120/forms-authentication-across-sub-domains – Trent 2011-03-04 16:27:05

+0

是的,這篇文章讓我以編程方式嘗試它。我想我只需要記住在將來的配置文件中不要做任何太聰明的事情:) – Matt 2011-03-04 16:35:10