Mat*_*gan 4 c# asp.net asp.net-membership membership-provider
我在一个站点上处理多个成员提供商时遇到问题.
我有一个注册页面,用于创建用户并将其添加到AD域.在我有一个会员提供者之前,我打过电话
Membership.CreateUser(txtUsername.Text, txtPassword.Text)
Run Code Online (Sandbox Code Playgroud)
根据页面上的用户输入创建用户名.
但是,我在web.config中添加了另一个成员资格提供程序,以便可以使用登录页面从另一个AD登录.现在,我的注册页面不起作用,因为(我假设)有两个会员提供商?
我怎样才能解决这个问题?如何在调用Membership.CreateUser时指定要使用的提供程序?
谢谢.
编辑:
如下所述,正确的方法是:
MembershipCreateStatus newStatus = new MembershipCreateStatus();
Membership.Providers["ProviderName"].CreateUser(txtUserName.Text, txtPassword.Text, null, null, null, true,null, out newStatus);
Run Code Online (Sandbox Code Playgroud)
谢谢!
Membership.Providers["providername"].CreateUser(....);
Run Code Online (Sandbox Code Playgroud)
请注意,在这种情况下只有一个CreateUser方法,但您可以传递其他不需要的参数的null.
编辑:
这是使用显式提供程序调用该方法的唯一方法.我没有尝试在AD中创建用户,所以不确定解决该错误,但这是另一种方式.将CreateUser的提供程序作为defaultprovider,这样您就可以返回旧的CreateUser调用.但现在您调整登录呼叫以使用其他提供商,例如
Membership.Providers["providername"].ValidateUser()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |