我使用.net成員身份創建SSO系統。我已經成功地對用戶進行了身份驗證,但是,問題在於,一旦用戶登錄,如果用戶註銷,然後嘗試再次登錄,則下次登錄嘗試失敗(「您的登錄嘗試未成功」)。。第一次嘗試/成功登錄後,net membership身份驗證失敗
E.G.從默認登錄頁面(使用.net登錄控件)用戶登錄/認證並重定向到loginstatus.aspx。用戶從loginstatus.aspx註銷(使用.net登錄狀態控制)並重新定向到默認登錄頁面。用戶嘗試使用相同的憑證再次登錄,認證失敗。
在本地調試中,每次啓動和停止調試時,都會「清除」問題,用戶只能再次驗證一次。我也在服務器上試過這個,結果也一樣。另外,如果第一次身份驗證嘗試失敗(錯誤密碼),則在下次嘗試時使用良好密碼時,用戶將無法登錄。
我沒有自定義或重寫任何Login控制方法(儘管我已經嘗試了login.authenticate上的membership.validateuser並且遇到了同樣的問題)。我使用MySQLMembershipProvider 6.2.3.0版(我已閱讀了有關Hashed密碼和MySqlMembershipProviders的一些問題,但添加SHA1不會影響問題,並且用戶可以驗證一次 - MySQL Forms Authentication Hashed password problem)。
任何提示來調試可能發生的事情?
這裏是我的web.config的樣品(我也用自動生成機鍵,問題仍然存在):
<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"/>