Простая регистрация в ASP.NET приложении

Опубликовано Май 31, 2009 в ASP.NET | Нет комментариев

Разрабатывая приложение на ASP.NET, требующее регистрации пользователей, мы сталкиваемся с проблемой слишком сложной процедуры регистрации. Во-первых по умолчанию требуется задавать достаточно сложный пароль, длинной от 7 символов с обязательным использованием не только цифр но и спец-символов типа @#$. Во-вторых требуется указать секретный вопрос и ответ. Это хорошие требования, но не все наши ASP.NET приложения настолько серьезны, что требуют длинного и сложного пароля и секретных вопросов.

Для того, чтобы упростить процедуру регистрации есть простой способ. Он заключается в изменении файла конфигурации Web.config. В секции
<providers></providers>нам необходимо добавить дополнительные атрибуты для Membership Provider.

<configuration>
  <system.web>
    <membership defaultProvider=»MembershipProvider»>
      <providers>
        <clear/>
        <add name=»MembershipProvider» connectionStringName=»MemberchipConnection» applicationName=»My.WebApplication» type=»System.Web.Security.SqlMembershipProvider»
             requiresQuestionAndAnswer=»false»
             requiresUniqueEmail=»true»
             minRequiredPasswordLength=»6″
             minRequiredNonalphanumericCharacters=»0″
             />
      </providers>
    </membership>
  </system.web>
</configuration>

Как видите, мы избавились от требований задавать секретные вопросы и ответы, использовать спец-символы в пароле, уменьшили минимальную длинну пароля но оставили требование уникальности Email адреса, если мы не хотим дублирующихся регистраций одного и того-же пользователя.

Если же вам нравится использовать регулярные выражения, то вы можете задать атрибут passwordStrengthRegularExpression=»…» и прописать в нем условие, каким бы вам хотелось видеть пароль.

Существует и множество дополнительных атрибутов для настройки MembershipProvider:

enablePasswordRetrieval=»false»
enablePasswordReset=»true»
passwordFormat=»Hashed»
maxInvalidPasswordAttempts=»5″
passwordAttemptWindow=»10″

Полный их список можно посмотреть в MSDN: http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

Оставить комментарий