Класс MembershipUser Пароль параметра CreateUser - PullRequest
2 голосов
/ 25 мая 2010

Я использую конфигурацию ASP.NET для своих пользователей и их ролей. Я также использую класс MembershipUser с его функцией CreateUser. У меня это работает, но мне было что-то интересно.

Когда я добавляю нового пользователя и передаю этой функции его параметр пароля (который в данном случае исходит из текстового поля на странице). Кажется, что это только находит и принимает это значение текстового поля, когда оно составляет 6 символов или больше. Например, если я введу ab123, он скажет, что объект не установлен как экземпляр объекта. Однако, если я делаю abc123, он работает нормально. Где это сказано, чтобы сделать это. Я не знал, могу ли я что-то изменить или где это может быть.

Спасибо.

Ответы [ 2 ]

1 голос
/ 25 мая 2010

это определяется в web.config

<membership>
            <providers>
                <clear/>
                <add name="AspNetSqlMembershipProvider"
                                 type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
                                 connectionStringName="ASPNetMembership"
                                 enablePasswordRetrieval="false" 
                                 enablePasswordReset="true" 
                                 requiresQuestionAndAnswer="false" 
                                 requiresUniqueEmail="false" 
                                 passwordFormat="Hashed" 
                                 maxInvalidPasswordAttempts="5" 
                                 minRequiredPasswordLength="6"   
                                 minRequiredNonalphanumericCharacters="0"           
                                 passwordAttemptWindow="10" 
                                 passwordStrengthRegularExpression="" 
                                 applicationName="/"/>
            </providers>
        </membership>
0 голосов
/ 25 мая 2010

В web.config, под членством / провайдерами, элемент <add ...> для вашего провайдера может, помимо прочего, иметь minRequiredPasswordLength="some number".

Существует также поставщик по умолчанию в machine.config, по-видимому (согласно MSDN: см. http://msdn.microsoft.com/en-us/library/1b9hw62f.aspx, второй фрагмент кода снизу), поэтому, если вы не видите строку <add>, вы можете использовать значение по умолчанию, которое имеет минимальную длину 7. Чтобы изменить его, вам нужно будет либо скопировать эту строку machine.config в ваш web.config, изменить имя и отредактировать параметр таким образом. ... или измените значение по умолчанию для всего сервера и проследите, чтобы он мог сломаться при обновлении.

...