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