创建Web场 - ASP.Net machineKey会导致成员身份登录失败

时间:2014-02-18 19:13:12

标签: asp.net web-config membership-provider machinekey

我们正在为我们的网站实施负载均衡器以实现冗余目的,因此如果网站1出现故障,负载均衡器会将所有流量发送到服务器2,反之亦然。

我已经实现了我在web.config中生成的machineKey,但这样做会破坏我的会员登录。

从我读过的内容来看,提供商应该默认为" hash"除非我将提供商设置为"加密"这不应该影响我的登录,但它有。我似乎无法登录,收到无效的密码错误。

这是我的相关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>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我不确定为什么这对我有用,但我最终做的是修改我的web.config,如下所示:

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

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

现有会员信息似乎允许我立即登录。