Зашифровать / расшифровать использование пароля в пользовательском MembershipProvider? - PullRequest
0 голосов
/ 28 июня 2009

Я реализовал пользовательское членство провайдера. Я также реализовал свое пользовательское шифрование / дешифрование AES, переопределяющее абстрактный EncryptPassword / DecryptPassword для MembershipProvider.

однако, когда я запускаю ValidateUser, пароль не конвертируется автоматически, я что-то упустил?

Должен ли он вызываться автоматически или мне нужно вызывать этот метод из моего кода?

Ответы [ 2 ]

2 голосов
/ 28 июня 2009

Вы должны сами вызывать свои процедуры шифрования.

1 голос
/ 09 февраля 2010

Вам нужно включить вызовы в ваши методы шифрования / дешифрования, что-то вроде того, что нужно сделать:

public override bool ValidateUser(string username, string password)
{
    string password=query to get the password from the db/users_list;

    return (CheckPassword(password, storedPassword));
}

private bool CheckPassword(string password, string dbpassword)
{
    string pwd1 = password;
    string pwd2 = dbpassword;

    pwd2 = UEncodePassword(dbpassword);

    if (pwd1 == pwd2) return true;

    return false;
}

private string UEncodePassword(string encodedPassword)
{
    string password = encodedPassword;
    password = Encoding.Unicode.GetString(DecryptPassword(Convert.FromBase64String(encodedPassword)));

    return password;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...