.net メンバーシップを使用して SSO システムを作成しています。ユーザーの認証に成功しましたが、問題は、ユーザーがログインすると、ユーザーがログアウトしてから再度ログインしようとすると、次のログイン試行が失敗することです (「ログイン試行は成功しませんでした」)。
EG デフォルトのログイン ページから (.net ログイン コントロールを使用して) ユーザーがログイン/認証し、loginstatus.aspx にリダイレクトされます。ユーザーは loginstatus.aspx から (.net ログイン ステータス コントロールを使用して) ログアウトし、デフォルトのログイン ページに再度リダイレクトされます。ユーザーが同じ資格情報で再度ログインしようとすると、認証に失敗します。
ローカル デバッグでは、デバッグを開始および停止するたびに、これにより問題が「クリア」され、ユーザーはもう一度しか認証できなくなります。サーバーでもこれを試しましたが、同じ結果が得られました。また、最初の認証試行が失敗した場合 (不正なパスワード)、ユーザーは次の試行で適切なパスワードを使用してもログインできません。
Login コントロール メソッドをカスタマイズしたりオーバーライドしたりしていません (login.authenticate で members.validateuser を試してみたところ、同じ問題に遭遇しました)。
MySQLMembershipProvider のバージョン 6.2.3.0 を使用しています (ハッシュ化されたパスワードと MySqlMembershipProvider に関するいくつかの問題について読んだことがありますが、SHA1 を追加しても問題には影響せず、ユーザーは一度認証できます - MySQL フォーム認証のハッシュ化されたパスワードの問題)。
何が起こっているのかをデバッグするためのヒントはありますか?
これが私のweb.configのサンプルです(AutoGenerateマシンキーも使用しましたが、問題は残っています):
<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
connectionStringName="MySqlMembershipConnection"
applicationName="myapp"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="2"/>
</providers>
</membership>
<machineKey validationKey="AD45EA85C19163E399E0ACEBC5523A9C740EFFF42154518FCDFA349E415DF51894C2CA25ABF8CF419C9F206DBE4878118D8BE8CF4DAA2E9708E7296B288ED980"
decryptionKey="C1ECCEF762BABCC02A44CD50571C2C3EDF6E7E4F7208886ACE157EF22AFCA27A"
validation="SHA1" decryption="AES"/>