0

我在我的 ASP.NET 2.0 网站中使用默认 SQLMembershipProvider,并期望 Membership.ValidateUser 在输入多个错误密码(在我的情况下为 5 个)后锁定用户,但 ValidateUser 似乎并不关心记录错误密码尝试并锁定用户。

怎么了?

我的 web.config 中的成员资格配置:

<membership defaultProvider="SqlMembershipProvider" >
   <providers>
     <clear />
      <add connectionStringName="ConnectionStringName" enablePasswordRetrieval="true"
         enablePasswordReset="true" requiresQuestionAndAnswer="false"
         requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5"
         minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0"
         passwordAttemptWindow="10" passwordStrengthRegularExpression=""
         applicationName="MyApp" name="SqlMembershipProvider"
         type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </providers>
</membership>
4

3 回答 3

1

PasswordAttemptWindow 和 MaxInvalidPasswordAttempts 设置为什么?这些配置设置是否在正确的 web.config 中设置?(测试环境实际使用的那个)

于 2009-02-19T10:18:30.917 回答
1

这是我的会员使用配置,如果有任何用途,它可以按要求工作:

<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="30">
  <providers>
    <remove name="AspNetSqlMembershipProvider" />
    <!-- 
      Membership defaults mainly below this point:
      connString, reqQ&A - modified - all others currently default.
    -->
    <add connectionStringName="CustomSqlServerProvider"
          name="AspNetSqlMembershipProvider"
          type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          enablePasswordRetrieval="false"
         enablePasswordReset="true"
         requiresQuestionAndAnswer="false"
         requiresUniqueEmail="false"
         passwordFormat="Hashed"
         maxInvalidPasswordAttempts="5"
         minRequiredPasswordLength="7"
         minRequiredNonalphanumericCharacters="1"
         passwordAttemptWindow="10"
         passwordStrengthRegularExpression=""
         applicationName="/" />
  </providers>
</membership>

另外,您是否尝试过使用 .Login() 方法进行身份验证过程?这就是我正在使用的,而不是 validateuser()。

于 2009-02-19T10:25:13.867 回答
0

请将 user.[IsApproved] 设置为 true

于 2009-06-11T11:23:06.247 回答