2009-11-25 105 views
0

我們正在使用子域啓動新網站,並且需要確保登錄到原始(主域)站點的用戶也在新站點中進行身份驗證。我相信我需要確保所有相關的web.config設置(表單身份驗證,cookie名稱等)在兩個應用程序中都是相同的,並且還要手動設置machineKey validationKey/decryptionKeys(同樣在兩個應用程序中)。在站點之間共享ASP.NET身份驗證

我的問題是,如果我現在手動在我的主應用程序中設置這些鍵,它會打破現有的登錄?

我們對密碼使用「散列」格式。

回答

2

取決於「break」是什麼意思。如果您修改了可能需要重新登錄的machineKeys/encryptiong密鑰,但登錄功能將繼續像以前一樣工作。

您還需要確保在兩個位置(不包含www)將Cookie的域設置爲domain.com,否則驗證Cookie將不會在站點之間正確碎片。

+0

爲補充此響應,cookie域設置在web.config中的

元素上:http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx。請注意,如果您的其他網站在運行asp.net的同一網域上需要不同的身份驗證,則此功能無效。 – zcrar70 2009-11-27 13:37:37

+0

我最初的擔心是,更改驗證/解密密鑰可能會損壞(或導致不可用)存儲在數據庫中的哈希密碼。這(愉快地)並非如此,上述方法完美地工作。謝謝。 – 2009-12-01 11:41:49

相關問題