共用方式為


ActiveDirectoryMembershipProvider.CreateUser 方法

定義

將新的使用者加入 Active Directory 資料存放區。

public:
 override System::Web::Security::MembershipUser ^ CreateUser(System::String ^ username, System::String ^ password, System::String ^ email, System::String ^ passwordQuestion, System::String ^ passwordAnswer, bool isApproved, System::Object ^ providerUserKey, [Runtime::InteropServices::Out] System::Web::Security::MembershipCreateStatus % status);
public override System.Web.Security.MembershipUser CreateUser (string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out System.Web.Security.MembershipCreateStatus status);
override this.CreateUser : string * string * string * string * string * bool * obj * MembershipCreateStatus -> System.Web.Security.MembershipUser
Public Overrides Function CreateUser (username As String, password As String, email As String, passwordQuestion As String, passwordAnswer As String, isApproved As Boolean, providerUserKey As Object, ByRef status As MembershipCreateStatus) As MembershipUser

參數

username
String

新使用者的使用者名稱。

password
String

新使用者的密碼。

email
String

新使用者的電子郵件地址。

passwordQuestion
String

新使用者的密碼問題。

passwordAnswer
String

新使用者的密碼解答。

isApproved
Boolean

新的使用者是否核准為通過驗證。

providerUserKey
Object

使用者成員資格資料來源中的唯一識別碼。 使用 ActiveDirectoryMembershipProvider 類別時這個參數必須為 null

status
MembershipCreateStatus

這個方法返回時,會包含其中一個 MembershipCreateStatus 列舉值,指出是否已成功建立使用者。

傳回

包含新建立之使用者資訊的 ActiveDirectoryMembershipUser 執行個體;如果未成功建立使用者則為 null

例外狀況

providerUserKey 參數不是 null

系統管理員尚未將密碼問題與解答欄位對應至 Active Directory 結構描述的屬性,或 passwordQuestionpasswordAnswer 參數不是 null

machineKey 元素 (ASP.NET 設定結構描述) 組態元素表示自動產生的機器加密金鑰。 您必須明確設定 machineKey 元素 (ASP.NET 設定結構描述) 元素的 decryptionKey 屬性,以與 ActiveDirectoryMembershipProvider 一起儲存密碼回應。

-或-

嘗試設定新使用者的密碼時,ActiveDirectoryMembershipProvider 無法建立到目錄的安全連接。

嘗試建立使用者時發生錯誤。

備註

類別 CreateUser 會呼叫 方法, Membership 以在 Active Directory 資料存放區中建立新的使用者。

對於 Active Directory 和 Active Directory 應用程式模式 (ADAM) 伺服器,類別 ActiveDirectoryMembershipProvider 要求目錄中的實例類別為 user 。 不支援替代的使用者類別,例如 inetOrgPerson

使用 Active Directory 伺服器且使用者名稱對應至 userPrincipalName 屬性時, ActiveDirectoryMembershipProvider 類別會自動為您產生參數的隨機 20 個字元使用者名稱 sAMAccountName

參數預設為下列最大長度。

參數 長度上限
username 如果使用 屬性, userPrincipalName 則為 64 個字元。 如果使用 sAMAccountName 屬性,常見的限制是 20 個字元或更少。
password 128 個字元。
email 256 個字元。
passwordQuestion 256 個字元。
passwordAnswer 加密前後 128 個字元。

CommentActiveDirectoryMembershipUser 實例上的 屬性限制為 1024 個字元。

如果已藉由減少這些屬性允許的最大長度來修改目錄架構,這些長度會優先使用。

建立使用者之前,類別 ActiveDirectoryMembershipProvider 會確定使用者名稱是唯一的。 ActiveDirectoryMembershipProvider如果實例設定為需要唯一的電子郵件地址,它也會確定電子郵件地址是唯一的。

在 Active Directory 使用者名稱唯一性中,會在使用者名稱對應至 userPrincipalName 時執行 GC 搜尋來強制執行。 如果使用 sAMAccountName ,則目錄會自動在整個 Active Directory 網域中強制執行 的唯一性 sAMAccountName

ADAM 伺服器會自動在所有應用程式分割區中強制執行 的使用者名稱唯一性 userPrincipalName

藉由執行子樹搜尋,從建立使用者所在的容器根目錄開始,強制執行電子郵件地址的唯一性。 如果連線到 Active Directory 且連接字串中未指定任何容器,則這是預設使用者容器 () 或連接字串中指定的容器。

類別 ActiveDirectoryMembershipProvider 會直接在連接字串中指定的使用者容器中建立使用者。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。

若要在 Active Directory 伺服器上設定密碼, connectionProtection 必須將 屬性設定為 SignAndSeal

當使用 ADAM 伺服器時, connectionProtection 屬性可以設定為 None ,但只有在您明確設定 ADAM 伺服器以允許透過不安全的連線進行密碼變更時。

開頭和尾端空格會從 除了 以外的 password 所有字串參數值進行修剪。

重要

除非用來連線到 Active Directory 伺服器的認證具有「網域系統管理員」許可權,否則您無法建立新使用者 (不建議) 或「刪除子實例」、「刪除子實例」和「設定密碼」存取權限。 「刪除子實例」存取權限是必要的,因為建立使用者是多步驟程式,而且如果建立使用者的任何步驟失敗,類別 ActiveDirectoryMembershipProvider 將會刪除使用者實例,而不是將部分建構的使用者實例保留在目錄中。

適用於

另請參閱