2009-08-27 59 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