c# - 多个成员(member)提供者的 Membership.CreateUser

标签 c# asp.net asp.net-membership membership-provider

我在处理一个站点上的多个成员(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/

相关文章:

ASP.NET MembershipUserCollection 按 IsApproved、Comment 排序

asp.net-membership - Asp.net成员资格-帐户被锁定

c# - IIS 10 上的 Web API(处理程序 "ExtensionlessUrlHandler-Integrated-4.0"有一个坏模块 "ManagedPipelineHandler")

asp.net - Asp :CheckBox checkbox and text are not on the same line

c# - 异步 Web Request、EntityFramework 和 DI,是如何工作的?

javascript - 如何从javascript获取C#代码

c# - 如何提高反序列化速度?

c# - 使用 Redis 的 SignalR 横向扩展 - 不支持 SSL

c# - 无法将类型 `double[]` 隐式转换为 `System.Collections.Generic.List<double>`

c# - ASPNetAuthentication——在哪里可以找到 minRequiredPasswordLength