我在处理一个站点上的多个成员(member)提供者时遇到了问题。
我有一个创建用户并将其添加到 AD 域的注册页面。在我有一个成员(member)提供者之前,在我调用的页面上
Membership.CreateUser(txtUsername.Text, txtPassword.Text)
它根据用户在页面上的输入创建了用户名。
但是,我在 web.config 中添加了另一个成员资格提供程序,以便可以使用登录页面从另一个 AD 登录。现在,我的注册页面将无法工作,因为(我假设)有两个成员(member)提供者?
我该如何解决这个问题?调用 Membership.CreateUser 时如何指定要使用的提供程序?
谢谢。
编辑:
如下所述,正确的做法是:
MembershipCreateStatus newStatus = new MembershipCreateStatus();
Membership.Providers["ProviderName"].CreateUser(txtUserName.Text, txtPassword.Text, null, null, null, true,null, out newStatus);
谢谢!
最佳答案
Membership.Providers["providername"].CreateUser(....);
请注意,在这种情况下只有一个 CreateUser 方法,但您可以传递 null 其他不需要的参数。
编辑:
这是使用显式提供程序调用该方法的唯一方法。我没有尝试在 AD 中创建用户,所以不确定如何解决该错误,但这是另一种方法。 将 CreateUser 的提供程序设置为您的默认提供程序,这样您就可以返回到旧的 CreateUser 调用。但是现在您调整登录调用以使用另一个提供者,例如
Membership.Providers["providername"].ValidateUser()
关于c# - 多个成员(member)提供者的 Membership.CreateUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063833/