Я использую SqlMembershipProvider и у меня возникла проблема, когда aspnet_Membership_UpdateUserInfo вызывается дважды для одного неудачного входа в систему. Это означает, что пользователь будет заблокирован только после двух попыток, а не 3, который я настроил.
К сожалению, я не могу просто увеличить число попыток входа в систему, увеличивая число, поскольку проблема, похоже, возникает только для пользователей 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.