2014-02-18 73 views
0

我們正在爲我們的網站實施負載均衡器以實現冗餘目的,因此如果網站1出現故障,負載均衡器會將所有流量發送到服務器2,反之亦然。創建Web服務器場 - ASP.Net machineKey導致成員資格登錄失敗

我已經實現了一個我在web.config中生成的machineKey,但這樣做破壞了我的會員登錄。

從我讀過的,提供者應該默認爲「散列」,除非我有供應商設置爲「加密」,這應該不會影響我的登錄,但它已經。我似乎無法再登錄,接收到無效的密碼錯誤。

這裏是我的相關的web.config代碼:

<machineKey 
    validationKey="A181A9E1960ABFC9DF3F2D8AAC8597FFDCA69A87591B5D89D0A539A21AC543022680DFBF181BACC37533D15FCA59A0E4E1A2AA748A268FFED48AAFED00C8BA7A" 
    decryptionKey="7366076C8BE16F2DA3AF9642071A136E5D8386ECA7659347560063474AFF61BB" 
    validation="SHA1" 
    decryption="AES" /> 
<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
    <add name="DefaultMembershipProvider" 
     type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     connectionStringName="ClientRunner" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     applicationName="/" /> 
    </providers> 
</membership> 

什麼我錯在這裏做什麼?

回答

0

我不知道是什麼原因這個工作對我來說,但我落得這樣做是修改我的web.config像這樣:

<membership defaultProvider="DefaultMembershipProvider" 
    hashAlgorithmType="HMACSHA256"> 

<machineKey 
    validationKey="50E5BFCB171748F86DA392AC55D5217EDEFCE43C9B6D192C5265D8F0CDDC86CECBA42040C408B7B71EAD6A4CE669545AAFDE76BBA42CA44203223A7ADC442D1E" 
    decryptionKey="EE9C03B1D922639AB7BA3C00E8C993BD8F6D27635B07979DF09F8C174C91CA65" 
    validation="MD5" decryption="Auto" /> 

現有成員信息似乎允許我現在登錄。

+2

友情提醒:不要將您真實的'machineKey'粘貼到像這樣的公共站點。你應該生成一個新的。 – Levi

+0

感謝您的提醒。我確實創造了一個新的。 – Scottie

+0

請幫幫我,我找不到三天這個問題的答案:防僞標記無法解密。如果此應用程序由Web Farm或集羣託管,請確保所有機器都運行相同版本的ASP.NET Web頁面,並且該配置指定了明確的加密和驗證密鑰。 AutoGenerate不能在羣集中使用。 –