我正在为我的用户及其角色使用ASP.NET配置。我也使用MembershipUser类及其CreateUser函数。我有它工作,但对某事感到好奇。
当我添加新用户并将此密码参数传递给该函数时(在这种情况下,该参数来自页面上的文本框)。看起来它只能在6个字符或更多字符时找到并接受该文本框值。例如,如果我输入ab123,它会说对象未设置为对象的实例。但是,如果我做abc123它工作正常。被告知这样做的地方。我不知道这是否可以改变,或者它可能在哪里做。
感谢。
答案 0 :(得分: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>
答案 1 :(得分:0)
在web.config中,在成员资格/提供者下,您的成员资格提供者的<add ...>
元素可以包含minRequiredPasswordLength="some number"
。
在machine.config中还有一个默认提供程序,显然(根据MSDN:请参阅http://msdn.microsoft.com/en-us/library/1b9hw62f.aspx,底部的第二个代码段),所以如果你没有看到<add>
行,那么你可能正在使用默认值为7.默认值为7.要更改该值,您必须将该machine.config行复制到web.config中,更改名称,然后编辑该方式的param ....或者更改整个服务器的默认值,并观察它可能在升级时中断。