複数のサーバーとサブドメインでフォーム認証を設定しようとしていますが、一部のボックスでは機能し、他のボックスでは機能しないという問題が見つかりました。あるサーバーから別のサーバーに 2 つの Cookie を渡しています。1 つはフォーム認証で暗号化された Cookie で、もう 1 つは暗号化されていない Cookie です。
両方のボックスに正しいキーが設定されています。
<authentication mode="Forms" >
<forms name=".MSLA" protection="All" timeout="30" slidingExpiration="true" path="/"
enableCrossAppRedirects="true" />
</authentication>
<machineKey
decryption="AES"
decryptionKey="CAB....."
validation="AES"
validationKey="A2........."
/>
正しい Cookie ドメインを設定しています。一方のサイトとしての .bbbb.com はhttp://login.bbbb.comになり、もう一方のサイトはhttp://app.bbbb.comになります。
ASP.net と .Net 4.0 を使用しています
機能するボックスでは、isAutenticated が true であり、フォーム認証のユーザー名が復号化されていることがわかりますが、機能しない他のボックスのセットでは、非フォーム認証 Cookie が正しく渡されて読み取られることがわかりますが、フォームは認証 Cookie は渡されます (Firebug で確認できます) が、2 番目のサイトはそれを復号化できないため、isAuthenicated は False です。
Windows Server 2008 を使用しており、1 か月前に適用された更新プログラムを使用しています。
私の問題に似たこの記事を見て、これを試しましたが、うまくいきません。
以前にこの問題に遭遇した人はいますか? 他のサーバーではなく一部のサーバーで動作させることができるので、コードではなくサーバーのセットアップの問題であるに違いないと考えています。これらのサーバーに追加する必要がある機能はありますか?