Я думаю, что стандартные реализации MembershipProvider не поддерживают эту функцию.Тем не менее, вы можете получить те же результаты, проверив длину пароля, когда пользователи задают / изменяют его.
Редактирование, связанное с элементом управления PasswordRecovery
Если вы используете стандартную реализацию класса MembershipProvider сЭлемент управления PasswordRecovery вы не можете вмешиваться в генерацию нового пароля (точнее ResetPassword - «Сбрасывает пароль пользователя на новый, автоматически сгенерированный пароль»).Если вы хотите использовать элемент управления PasswordRecovery, я не вижу другого варианта, кроме создания собственного провайдера членства, производного от абстрактного класса MembershipProvider или одной из его конкретных реализаций (например, SqlMembershipProvider);
Другой вариант - реализоватьВаш пользовательский интерфейс восстановления пароля, поскольку вы все еще можете полагаться на функциональность, реализованную в вашем MembershipProvider.Когда пользователь хочет сбросить свой пароль, вы можете использовать метод GetUser для получения соответствующей информации, а затем ResetPassword для получения нового пароля.В этот момент вы можете использовать пароль, который возвращает ResetPassword, и вызвать ChangePassword, чтобы установить новый пароль, соответствующий вашим критериям, а затем отправить его пользователю по электронной почте.Существует множество способов реализации соответствующего пользовательского интерфейса, но логика сброса пароля будет почти такой же.
Также, если вы решите, что хранение зашифрованных паролей вместо хеширования отвечает вашим требованиям, ваша проблема будет решенапоскольку пользователи получат по электронной почте свои старые пароли (которые соответствуют условию максимальной длины с момента их установки).Для этого внесите следующие изменения в web.config:
Passwordformat="encrypted"
Passwordreset="true"
Passwordretriaval="true"