我对我的用户和他们的角色使用ASP.NET配置。我还使用了带有CreateUser函数的MembershipUser类。我让它工作了,但我对一些事情很好奇。
当我添加一个新用户并传递给这个函数时,它的password参数(在本例中来自页面上的一个文本框)。似乎只有当文本框长度大于或等于6个字符时,它才能找到并接受该文本框值。例如,如果我键入ab123,它会显示object not set to instance of a object。但是,如果我使用abc123,它工作得很好。被告知要这么做的人在哪里。我不知道这是不是我可以改变的东西,或者它可能会在哪里改变。
谢谢。
发布于 2010-05-26 03:47:06
这是在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-26 03:48:27
在web.config中,在membership/providers下,成员资格提供程序的<add ...>元素可以包含minRequiredPasswordLength="some number"等内容。
显然,在machine.config中也有一个默认的提供程序(根据MSDN:请参阅http://msdn.microsoft.com/en-us/library/1b9hw62f.aspx,倒数第二个代码片段),所以如果你没有看到<add>行,你可能正在使用默认的提供程序,它的最小长度为7。要更改这一行,你必须将该machine.config行复制到您的web.config中,更改名称,并编辑参数,即way....or更改整个服务器的默认设置,并观察它在升级时可能会崩溃。
https://stackoverflow.com/questions/2907829
复制相似问题