Получение значения FailedPasswordAttemptCount из объектной модели, а не базы данных - PullRequest
2 голосов
/ 22 февраля 2011

Я пытаюсь получить FailedPasswordAttemptCount из встроенных объектов ASP.NET, и я не могу найти его, есть ли способ получить это значение, не создавая новый selectedProc?

Извините, если вопрос излишний.

Заранее спасибо.

1 Ответ

6 голосов
/ 23 февраля 2011

Единственная встроенная функция SqlMembershipProvider использует это свойство, которое я нашел:

private void GetPasswordWithFormat(string username, bool updateLastLoginActivityDate, out int status, out string password, out int passwordFormat, out string passwordSalt, out int failedPasswordAttemptCount, out int failedPasswordAnswerAttemptCount, out bool isApproved, out DateTime lastLoginDate, out DateTime lastActivityDate)

это личное.Таким образом, лучшим решением является переопределение существующего и использование собственного метода сложения для сбора необходимых данных, например:

public class MySqlMembershipProvider : SqlMembershipProvider
{
    public int GetFailedPasswordAttemptCount (Guid userId)
    {
        // SELECT FailedPasswordAttemptCount FROM aspnet_Membership WHERE UserId = UserId
    }
}

Использование:

var count = ((MySqlMembershipProvider)System.Web.Security.Membership.Provider).GetFailedPasswordAttemptCount(...);
...