2

ユーザーとその役割にASP.NET構成を使用しています。また、MembershipUserクラスとその関数CreateUserを使用しています。私はそれを機能させていますが、何かに興味がありました。

新しいユーザーを追加し、この関数にそのパスワードパラメーター(この場合はページのテキストボックスから取得)を渡すと、6文字以上の場合にのみ、そのテキストボックスの値を検出して受け入れるようです。たとえば、ab123と入力すると、オブジェクトがオブジェクトのインスタンスに設定されていないと表示されます。ただし、abc123を実行すると、正常に動作します。それをするように言われているのはどこですか。これが私が変えることができるものなのか、それがどこでそれをしているのか、私にはわかりませんでした。

ありがとう。

4

2 に答える 2

1

これは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>
于 2010-05-25T19:47:06.403 に答える
0

web.configのmembership/providersの下で、<add ...>メンバーシッププロバイダーの要素は、とりわけ、を持つことができますminRequiredPasswordLength="some number"

どうやらmachine.configにはデフォルトのプロバイダーもあります(MSDNによると:http://msdn.microsoft.com/en-us/library/1b9hw62f.aspx、下から2番目のコードスニペットを参照)。行が表示<add>されている場合は、最小長が7のデフォルトの行を使用している可能性があります。これを変更するには、そのmachine.config行をweb.configにコピーし、名前を変更する必要があります。そのようにパラメータを編集します。または、サーバー全体のデフォルトを変更して、アップグレード時に破損する可能性があることを確認します。

于 2010-05-25T19:48:26.820 に答える