Недавно я изучал новый элемент управления входом в asp.net 2.0 и обнаружил, что требования к безопасности пароля системы по умолчанию относительно высоки, то есть «минимальная длина пароля составляет 7, который должен содержать следующие небуквенно-цифровые символы: 1. ", для обычного Ван Чжана нет необходимости (даже windows2003sever по умолчанию не требует такого сложного пароля). Метод модификации, представленный в некоторых справочных материалах, заключается в изменении его в файле Machine.config. Но если у вас нет прав администратора на хосте, вы не сможете его изменить. Поэтому все же рекомендуется изменить его в файле web.config.
Метод заключается в добавлении вложенных тегов к узлу <system.web> файла web.config:
<членство>
<поставщики>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
ConnectionStringName="LocalSqlServer"
EnablePasswordRetrival="false"
EnablePasswordReset="истина"
требуетсяQuestionAndAnswer="истина"
Имя приложения="/"
требуетсяUniqueEmail="false"
парольFormat="Хешированный"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
парольПопыткаWindow="10"
парольStrengthRegularExpression="" />
</провайдеры>
</членство>
Давайте объясним ключевые атрибуты:
соединение с базой данных ConnectionStringName. Это необходимо установить в web.config.
EnablePasswordRetrival Получает значение, указывающее, настроен ли текущий поставщик членства на разрешение пользователям получать свои пароли.
EnablePasswordReset Получает значение, указывающее, настроен ли текущий поставщик членства на разрешение пользователям сбрасывать свои пароли.
requireQuestionAndAnswer Получает значение, указывающее, требует ли поставщик членства по умолчанию от пользователей ответа на вопрос о пароле для сброса и получения пароля.
applicationName получает или задает имя приложения.
requireUniqueEmail Указывает, должен ли пользователь указывать уникальное значение адреса электронной почты при создании пользователя.
парольFormat указывает формат, в котором пароли хранятся в хранилище данных членства. Подробная инструкция ниже
maxInvalidPasswordAttempts Получает количество попыток ввода неверного пароля или ответа на неверный пароль, разрешенных до того, как членство пользователя будет заблокировано.
minRequiredPasswordLength Получает минимальную длину, необходимую для пароля.
minRequiredNonalphanumericCharacters Получает минимальное количество специальных символов, которые должны быть включены в действительный пароль.
passAttemptWindow Получает максимальное количество попыток ввода неверного пароля или ответа на неверный пароль, разрешенное до блокировки пользователя-члена, в минутах.
Свойство подробного описания PassFormat указывает формат, в котором хранятся пароли. Пароли могут храниться в форматах Clear, Encrypted и Hashed. Четкие пароли хранятся в виде открытого текста, что повышает производительность хранения и извлечения паролей, но менее безопасно и их можно легко прочитать, если безопасность источника данных нарушена. Зашифрованные пароли шифруются при хранении и могут быть расшифрованы при сравнении или извлечении паролей. Такие пароли требуют дополнительной обработки во время хранения и извлечения, но они более безопасны и их невозможно легко получить, если безопасность источника данных нарушена. Хешированные пароли хешируются с использованием одностороннего алгоритма хеширования и случайно сгенерированного значения соли при хранении в базе данных. Когда пароль проверен, он хешируется со значением соли в базе данных для проверки. Не удалось получить хешированный пароль.