Членство в ASP.NET 2.0: ValidateUser не блокирует пользователя? - PullRequest
0 голосов
/ 19 февраля 2009

Я использую SQLMembershipProvider по умолчанию на своем веб-сайте ASP.NET 2.0 и ожидаю, что 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>

Ответы [ 3 ]

1 голос
/ 19 февраля 2009

Вот конфигурация для моего использования членства, которая работает как требуется, если она имеет какое-либо использование:

<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 ().

1 голос
/ 19 февраля 2009

Для чего установлены PasswordAttemptWindow и MaxInvalidPasswordAttempts? и эти параметры конфигурации установлены в правильном файле web.config? (тот, который используется в тестовой среде)

0 голосов
/ 11 июня 2009

Пожалуйста, установите пользователя. [IsApproved] в true

...