我一直试图使用CreateUser方法将用户添加到数据库中。我想要的一件事是,密码问题和答案是不需要的,所以我在我的Web.config中有这个
membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="CBCFXConnString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="CBCFX"/>如您所见,我已经将requiresQuestionAndAnswer设置为false。自从我开始编程以来,这个设置就一直在我的配置中,当我尝试用下面的行添加一个用户时,我很惊讶为什么这个InvalidAnswer仍然存在:
fxSMP.CreateUser(userName, passWord, eMail, null, null, true, null, out status);我甚至尝试将空字符串传递给问答参数:
string pwQuestion = "";
string pwAnswer = "";
fxSMP.CreateUser(userName, passWord, eMail, pwQuestion, pwAnswer, true, null, out status);但还是什么都没有。我能做些什么才能让这件事成功?
编辑:我已经在互联网上做了更多的工作,似乎有一个过载的方法,你只能输入一个UserName,密码和电子邮件。为什么这种重载在我的SqlMembershipProvider实例中是不可用的
发布于 2014-01-09 07:32:02
在您的问题中,我看不出您是如何在web.config文件中声明web.config元素的,但请确保设置defaultProvider attribute...just以防万一。另外,我建议您使用CreateUser方法的另一个重载。
System.Web.Security.Membership.CreateUser(string username, string password, string email)编辑
现在,由于您使用的是SqlMembershipProvider,此重载将不可用。为什么?首先,因为不应该直接在客户端代码上调用此方法。您应该使用Membership类。如果您在defaultProvider文件中设置了membership元素的web.config,并将requiresQuestionAndAnswer设置为false,那么您就不会有任何问题。
顺便问一下,看看这个MSDN文档
https://stackoverflow.com/questions/21014003
复制相似问题