ActiveDirectoryMembershipProvider.ValidateUser メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As ActiveDirectoryMembershipProvider Dim username As String Dim password As String Dim returnValue As Boolean returnValue = instance.ValidateUser(username, password)
戻り値
指定した username と password が有効な場合は true。それ以外の場合は false。指定したユーザーが Active Directory データ ストア内に存在しない場合、ValidateUser メソッドは false を返します。


このメソッドは、Active Directory データ ストアと照合してユーザーの資格情報を検証するときに、Membership クラスによって呼び出されます。
EnablePasswordReset プロパティが true で、指定した資格情報が有効な場合、無効なパスワードの解答を追跡するカウンタはリセットされます。
次に示す状況においては、正しい資格情報を指定した場合でも ValidateUser メソッドが false を返すことがあります。
-
失敗したログオンが所定の回数を超えたため、ディレクトリ サーバーによってユーザー アカウントがロックアウトされました。ディレクトリのロックアウト期間が経過するまで、ユーザーはログオンできません。
-
EnablePasswordReset プロパティが true の場合、ユーザーが無効なパスワードの解答を所定の回数指定すると、ユーザー アカウントはロックされます。PasswordAnswerAttemptLockoutDuration プロパティに指定した時間が経過すると、ユーザーのアカウントのロックは解除されます。
-
ユーザーは接続文字列に指定したコンテナに存在している必要があります。別のコンテナまたは別のドメインに存在するユーザー アカウントに対して、有効な資格情報が指定されました。ユーザーは接続文字列に指定したコンテナに存在している必要があります。
ユーザーを検証する場合、プロバイダはアプリケーションの構成ファイルに構成されている資格情報ではなく、指定したユーザー名とパスワードを使用して Active Directory データ ストアに接続することにより資格情報を検証します。
ただし、ActiveDirectoryMembershipProvider インスタンスでは、次の理由から、構成された資格情報を使用してディレクトリに接続します。
-
ActiveDirectoryMembershipProvider インスタンスの接続文字列により判別された検索スコープ内にユーザーが存在することを確認するため。プロバイダは、接続文字列で指定された検索位置を開始点としてサブツリー検索を実行し、ユーザーが存在するかどうかを確認します。ユーザーは、指定したコンテナに存在している必要があります。接続文字列に指定されているコンテナの外部で有効な資格情報は検証されません。接続文字列の詳細については、ActiveDirectoryMembershipProvider クラスのトピックを参照してください。
-
EnablePasswordReset プロパティが true の場合、ActiveDirectoryMembershipProvider インスタンスでは、構成された資格情報を使用してユーザー インスタンスを読み込み、パスワードの解答を変更する試みが所定の回数失敗したことが原因でユーザーがロックアウトされているかどうかを確認します。
![]() |
---|
"Guest" アカウントを有効にして Active Directory ドメイン コントローラに接続すると、セキュリティが脆弱になる可能性があります。"Guest" アカウントを有効にして Active Directory ドメイン コントローラで検証を行うと、すべての検証が成功します。Active Directory ドメイン コントローラを使用する場合のセキュリティを高めるには、ドメイン コントローラで "Guest" アカウントを無効にする必要があります。 |
ActiveDirectoryMembershipProvider インスタンスは、次の条件が満たされる場合に、Active Directory に対して同時バインドを試行します。
-
CurrentConnectionProtection プロパティが SignAndSeal に設定され、接続をセキュリティ保護するために、ActiveDirectoryMembershipProvider インスタンスで SSL が選択されています。
同時バインドを行うには、さらに次の条件を満たす必要があります。
-
ディレクトリ サーバーが Windows Server 2003 で実行されている必要があります。
-
ActiveDirectoryMembershipProvider インスタンスを実行している Web サーバーのオペレーティング システム (たとえば Windows Server 2003) が、同時バインドをサポートしている必要があります。
同時バインドを使用する場合、ユーザーの最終ログオン日付がディレクトリで更新されないので、LastLoginDate プロパティを当てにできません。

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からActiveDirectoryMembershipProvider.ValidateUser メソッドを検索する場合は、下記のリンクをクリックしてください。

- ActiveDirectoryMembershipProvider.ValidateUser メソッドのページへのリンク