2009-08-27 88 views
1

我使用的是SqlMembershipProvider的,有一個地方aspnet_Membership_UpdateUserInfo被調用兩次爲單個失敗的登錄問題,叫了兩聲。這意味着只有兩次嘗試後用戶纔會被鎖定,而不是我配置的3個。aspnet_Membership_UpdateUserInfo單一登錄失敗

不幸的是,我不能簡單地將登錄嘗試次數計數到更高的數字,因爲問題似乎只發生在IE用戶。 Firefox和Chrome不會出現同樣的問題。

我使用的配置是:

<membership defaultProvider="AcademyWebProvider" userIsOnlineTimeWindow="3"> 
    <providers> 
     <remove name="AspNetSqlMembershipProvider" /> 
     <add minRequiredNonalphanumericCharacters="0" 
      minRequiredPasswordLength="3" 
      maxInvalidPasswordAttempts="3" 
      passwordAttemptWindow="15" 
      applicationName="AcademyPro" 
      connectionStringName="SqlServer" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="false" 
      name="AcademyWebProvider" 
      type="System.Web.Security.SqlMembershipProvider" /> 
    </providers> 
</membership> 

UPDATE
周圍挖了一點,看着小提琴手痕跡IE7(IE7正確的,而不是IE 8可計算模式)和IE8提交形成兩次。我還在表單標籤中添加了onsubmit="alert('Ping!');",警告框顯示兩次,所以問題出在JavaScript上。

回答

0

事實證明,問題是與CSS適配器,刪除它們,問題消失。

0

如果是IE8,那麼問題就出現了,然後嘗試使用類似Fiddler的東西來查看發送到您的服務器的請求,以查看瀏覽器是否提交了多個請求。

這可能是IE8's Lookahead Downloader中的錯誤與它有關。

+0

使用fiddler它看起來像IE8發送所有登錄請求兩次。無論是有效的還是無效的,這讓我想知道還有什麼發送兩次。 – ilivewithian 2009-08-27 10:02:33

+0

@ilivewithian您是否在IE7中嘗試過,看它是否發生在IE8中,或者是特定於IE8的,如果是,那麼Lookahead Downloader可能是一個很好的候選者?或者是一個行爲異常的加載項...(IE7 Virtual Image:http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en) – Rob 2009-08-27 10:15:03