У меня есть приложение C# asp.net с использованием стандартного Sql MembershipProvider. Моя web.config имеет несколько параметров, которые определяют, как я использую этот провайдер:Могу ли я настроить ResetPassword в членском пакете Asp.Net?
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresUniqueEmail="true"
passwordFormat="Hashed"
minRequiredPasswordLength="5"
Проблемы я бег в том, что когда люди сбросить свои пароли, кажется, метод ResetPassword() возвращает пароль который длиннее, чем я хочу, и имеет символы, которые могут сбивать с толку (l, 1, i, I, 0, O). Кроме того, я отправляю своим пользователям электронное письмо с текстовым сообщением и HTML-сообщением (я использую MailMessage с AlternateViews). Если у пароля в нем есть небезопасные символы HTML, когда почтовые клиенты отображают текст HTML, пароль может быть другим (например,%, & и < не совсем безопасны для HTML).
Я просмотрел элемент «добавить», который принадлежит к web.config, но я не вижу никаких дополнительных свойств конфигурации, чтобы включать только определенные символы в метод ResetPassword() и ограничивать длину пароля.
Могу ли я настроить метод ResetPassword() для ограничения длины пароля и ограничения набора символов, который он выбирает?
Сейчас у меня есть обходной путь: я называю ResetPassword(), чтобы убедиться, что входящий в комплект поставки ответ правильный, а затем я использую RandomPassword generator я скачал из Интернета, чтобы сгенерировать пароль, который мне нравится (без неоднозначных символов, HTML безопасно и всего 8 символов), а затем я вызываю ChangePassword(), чтобы изменить пароль пользователя после того, как я его уже сбросил.
Мое обходное решение кажется kludgy, и я подумал, что лучше настроить ResetPassword(), чтобы делать то, что я хочу.
спасибо ~!
ColoradoTechie
У вас есть хороший опыт до сих пор с этим 'RandomPassword generator'? Я также ищу такую вещь, так как я никогда не нашел способ настроить «ResetPassword». – Slauma
Мне лично это нравится, однако мы еще не закончили наше приложение, поэтому я не уверен, как он работает. Прямо сейчас я называю это дважды (newPassword = RandomPassword.Generate (7) + RandomPassword.Generate (1);), потому что я хочу, чтобы мой новый пароль начинался и заканчивался символом (если вы читаете комментарии, код всегда будет генерировать пароль, начинающийся с символа). Мне также нравится, как я могу ограничить специальные символы. –
Одна вещь, на которую нужно обратить внимание: я не знаю, слишком ли ограничивает вас членский доступ, чтобы сменить пароль слишком часто, поэтому, если вы сбросите пароли пользователей и затем измените их, вы можете увеличить количество людей, которые могут измениться их пароль. –