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 列挙値の 1 つを格納します。

戻り値

新しく作成したユーザーに関する情報を格納している ActiveDirectoryMembershipUser インスタンス。ユーザーが正常に作成されなかった場合は null

例外

providerUserKey パラメーターが null ではありません。

管理者がパスワードの質問と解答のフィールドを Active Directory スキーマの属性にマップしておらず、passwordQuestion パラメーターまたは passwordAnswer パラメーターが null ではありません。

machineKey 要素 (ASP.NET 設定スキーマ) 構成要素は、自動生成されたマシン暗号化キーを示します。 ActiveDirectoryMembershipProvider を使用してパスワードの解答を格納するには、machineKey 要素 (ASP.NET 設定スキーマ) 要素の decryptionKey 属性を明示的に設定する必要があります。

- または -

新規ユーザーのパスワードの設定を試みているときに、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 文字。

Comment返されるActiveDirectoryMembershipUserインスタンスの プロパティは、1024 文字に制限されています。

これらの属性の許容される最大長を減らすことでディレクトリ スキーマが変更された場合は、これらの長さが優先されます。

ユーザーを作成する前に、 クラスは ActiveDirectoryMembershipProvider ユーザー名が一意であることを確認します。 インスタンスが一意の ActiveDirectoryMembershipProvider 電子メール アドレスを必要とするように構成されている場合は、電子メール アドレスが一意であることを確認します。

Active Directory では、ユーザー名が に userPrincipalNameマップされたときに GC 検索を実行することで、ユーザー名の一意性が適用されます。 が使用されている場合 sAMAccountName 、ディレクトリは Active Directory ドメイン全体で の sAMAccountName 一意性を自動的に適用します。

ADAM サーバーは、すべてのアプリケーション パーティションに 対して のユーザー名の一意性を userPrincipalName 自動的に適用します。

メール アドレスの一意性は、ユーザーが作成されるコンテナーのルートから、重複するメール アドレスのサブツリー検索を実行することによって適用されます。 これは、既定のユーザー コンテナー (Active Directory に接続されていて、接続文字列にコンテナーが指定されていない場合) または接続文字列で指定されたコンテナーのいずれかです。

クラスは ActiveDirectoryMembershipProvider 、接続文字列で指定されたユーザー コンテナーにユーザーを直接作成します。 接続文字列の ActiveDirectoryMembershipProvider 詳細については、クラスのトピックを参照してください。

Active Directory サーバーでパスワードを設定するには、 属性を connectionProtection に設定する SignAndSeal必要があります。

ADAM サーバーが使用されている場合は、 属性を connectionProtectionNone設定できますが、セキュリティで保護されていない接続でのパスワード変更を許可するように ADAM サーバーを明示的に構成した場合に限ります。

先頭と末尾のスペースは、 を除く passwordすべての文字列パラメーター値からトリミングされます。

重要

Active Directory サーバーへの接続に使用する資格情報に、ドメイン管理者権限 (推奨されません) または "子インスタンスの作成"、"子インスタンスの削除"、および "パスワードの設定" アクセス権がない限り、新しいユーザーを作成することはできません。 ユーザーの作成は複数ステップのプロセスであるため、"子インスタンスの削除" アクセス権が必要です。ユーザー作成のいずれかのステップが失敗した場合、 ActiveDirectoryMembershipProvider クラスは、部分的に構築されたユーザー インスタンスをディレクトリに残すのではなく、ユーザー インスタンスを削除します。

適用対象

こちらもご覧ください