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