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