簡體   English   中英

Membership.CreateUser適用於多個會員提供商

[英]Membership.CreateUser for multiple Membership Providers

我在一個站點上處理多個成員提供商時遇到問題。

我有一個注冊頁面,用於創建用戶並將其添加到AD域。 在我有一個會員提供者之前,我打過電話

Membership.CreateUser(txtUsername.Text, txtPassword.Text) 

根據頁面上的用戶輸入創建用戶名。

但是,我在web.config中添加了另一個成員資格提供程序,以便可以使用登錄頁面從另一個AD登錄。 現在,我的注冊頁面不起作用,因為(我假設)有兩個會員提供商?

我怎樣才能解決這個問題? 如何在調用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的提供程序作為defaultprovider,這樣您就可以返回舊的CreateUser調用。 但現在您調整登錄呼叫以使用其他提供商,例如

Membership.Providers["providername"].ValidateUser()

成員資格上有一個Providers屬性,其中包含成員資格提供程序的集合 您應該能夠從那里辨別使用哪個提供商。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM