Пользовательский поставщик членства и элемент управления ChangePassword - PullRequest
0 голосов
/ 02 декабря 2011

Я реализовал пользовательский Membership поставщик для моей существующей схемы базы данных с помощью следующей ссылки

Я переопределил следующие методы CreateUSer, ValidateUser, GetUser, ChangePassword и ResetPassword. Для метода ChangePassword он проверяет новый пароль для минимальной длины, а также для количества буквенно-цифровых символов. Если проверка не пройдена, метод генерирует исключение аргумента с точной ошибкой.

Проблема, с которой я сталкиваюсь, я использую встроенный контроль изменения пароля, я получаю следующую ошибку, "Argumnet exception was unhandled in user code".

Также отображается общая ошибка

"Password incorrect or New Password invalid."

Я бы предпочел показать точную причину ошибки, по которой проверка пароля не удалась.

Как мне реализовать это. Буду признателен за любую помощь или руководство.

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

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

0 голосов
/ 02 декабря 2011

Проблема заключается в том, что в вашей реализации виртуальная функция MembershipUser.ChangePassword Из статьи MSDN необходимо принять 2 параметра:

oldPassword
    Type:System.String
    The current password for the membership user.
newPassword
    Type:System.String
    The new password for the membership user.

Не видя вас в функции ChangePassword, я бы догадался, что вы

  1. Не передавая аргумент "oldPassword", или
  2. Передача значения, которое не является строкой, в качестве одного из этих двух аргументов.

Редактировать: Исходя из вашего комментария, вы действительно хотите обработать событие ChangePasswordError элемента управления ChangePassword. Это позволит вам предоставить свой отзыв при возникновении ошибки.

...