ActiveDirectoryMembershipProvider クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ActiveDirectoryMembershipProvider クラスの意味・解説 

ActiveDirectoryMembershipProvider クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

Active Directory サーバーおよび Active Directory Application Mode サーバー内の ASP.NET アプリケーションメンバシップ情報ストレージ管理します

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class ActiveDirectoryMembershipProvider
    Inherits MembershipProvider
Dim instance As ActiveDirectoryMembershipProvider
public class ActiveDirectoryMembershipProvider
 : MembershipProvider
public ref class ActiveDirectoryMembershipProvider
 : public MembershipProvider
public class ActiveDirectoryMembershipProvider
 extends MembershipProvider
public class ActiveDirectoryMembershipProvider
 extends MembershipProvider
解説解説

このクラスは、AD (Active Directory) サーバーまたは ADAM (Active Directory Application Mode) サーバー使用する ASP.NET アプリケーションに対してメンバシップ サービス提供するために、Membership クラスおよび MembershipUser クラス使用されます。

メモメモ

ADAM サーバー使用するには、特別な構成が必要です。詳細については、後の「ADAM構成」を参照してください

セキュリティに関するメモセキュリティに関するメモ

ActiveDirectoryMembershipProvider インスタンスは、ASP.NET の完全信頼ポリシー既定構成でのみ機能します部分信頼レベルActiveDirectoryMembershipProvider インスタンス使用するには、アプリケーション該当する信頼ポリシー ファイル変更を行うか、GAC配置される "サンドボックス" アセンブリ作成する必要があります

ActiveDirectoryMembershipProvider クラス実行するには、無制限の DirectoryServicesPermission アクセス許可が必要です。このアクセス許可は、ASP.NET提供される部分信頼ポリシー ファイルには追加されません。部分信頼ポリシー ファイルDirectoryServicesPermission アクセス許可追加するActiveDirectoryMembershipProvider クラス使用できるようになりますが、これを行うと、ASP.NET ページ実行中任意のコードSystem.DirectoryServices 名前空間すべてのクラス使用できるようになりますセキュリティ保護された、ロックダウン モードでの実行必要な Web サーバー場合は、このオプションお勧めしません。

代わりにActiveDirectoryMembershipProvider クラス呼び出す "サンドボックス" アセンブリ作成できます。このアセンブリには、メソッド呼び出しActiveDirectoryMembershipProvider クラス転送するラッパー クラスか、または ActiveDirectoryMembershipProvider クラスから派生するクラス格納できます。どちらの場合も、ラッパー クラス無制限DirectoryServicesPermission アクセス許可アサートする必要がありますGACサンドボックス アセンブリ配置し、APTCA (AllowPartiallyTrustedCallersAttribute) 属性使用してこのアセンブリマークします。これにより、部分的に信頼されASP.NET コードラッパー クラス呼び出すことができるようになりますラッパー クラス内部無制限DirectoryServicesPermission アクセス許可アサートするので、正常にプロバイダ呼び出すことができます

使用する Active Directory サーバーActive Directory ドメイン、または ADAM アプリケーション パーティション指定する connectionStrings 要素 (ASP.NET 設定スキーマ) エントリを Web.config ファイル作成する必要がありますプロバイダは、ドメイン スコープまたはドメイン内のサブスコープでのみ機能します許可される接続文字列および使用されるスコープ次の表に示します

接続文字列

スコープ

LDAP://<ドメインまたはサーバー>:[ポート]

ポート番号は、ADAM場合省略可能、Active Directory場合不要です。

プロバイダは、指定したドメインまたはサーバーに対して実行されます。AD場合ユーザー作成削除既定ユーザー コンテナ行われますその他のすべての操作 (すべての検索メソッドを含む) は、ドメイン既定の名前付けコンテキストルートとします

接続文字列特定のサーバーではなく Active Directory ドメイン指定されており、さらに、EnablePasswordReset プロパティtrue場合ActiveDirectoryMembershipProvider インスタンスは常に、そのドメインPDC役割担っているサーバー接続されます。これにより、ValidateUser メソッド呼び出されたときに、パスワード変更有効になり、使用できるようになります

ADAM使用している場合はこの接続文字列許可されず、NotSupportedException がスローさます。

LDAP://<ドメインまたはサーバー>:[ポート]/<コンテナ dn>

ポート番号は、ADAM場合省略可能、Active Directory場合不要です。

プロバイダは、指定したドメインまたはサーバーに対して実行されます。ユーザー作成削除は、指定したコンテナでのみ行われますその他のすべての操作 (すべての検索メソッドを含む) は、コンテナルートとしてサブツリー検索実行します

ADAM サーバー場合コンテナアプリケーション パーティションルート、またはアプリケーション パーティション内のコンテナ指定します

パフォーマンス改善するため、接続文字列には特定のコンテナ定義することをお勧めます。

ActiveDirectoryMembershipProvider インスタンスは、ディレクトリ属性を ActiveDirectoryMembershipUser のプロパティマップます。Web.config ファイル属性マップされていない場合は、既定属性使用されます。属性マップ詳細については、ActiveDirectoryMembershipUser クラスドキュメント個別プロパティトピック参照してください

ActiveDirectoryMembershipUserプロパティとその既定属性マップ次の表に示します

プロパティ

既定ディレクトリ属性

マップ可否

ProviderUserKey

securityIdentifier

いいえ

Username

userPrincipalName

はい。ただし、userPrincipalName または sAMAccountName のいずれかである必要があります

Comment

comment

いいえ

CreationDate

whenCreated

いいえ

Email

mail

はい。ただし、Unicode 文字列型単一の値を持つ属性である必要があります

LastActivityDate

n/a

ActiveDirectoryMembershipProviderサポートされていません。

LastLoginDate

n/a

ActiveDirectoryMembershipProviderサポートされていません。

LastPasswordChangedDate

pwdLastSet

いいえ

PasswordQuestion

なし

はい。ただし、Unicode 文字列型単一の値を持つ属性である必要があります

IsApproved

AD (User-Account-Control)

ADAM (mDS-UserAccountDisabled)

いいえ

IsLockedOut

lockoutTime および AD ロックアウト期間から計算されます (Windows 2000 上の AD)。

msDS-User-Account-Control-Computed (Windows Server 2003 上の AD)

msDS-User-Account-Control-Computed (ADAM)

いいえ

LastLockoutDate

無効なパスワード試行所定回数行われたことが原因ユーザーロックアウトされた場合は、ロックアウト時刻属性返されます。

無効なパスワード解答試行所定回数行われたことが原因ユーザーロックアウトされた場合は、attributeMapFailedPasswordAnswerLockoutTime定義され属性格納された値が返されます。

1 つ無効なパスワード多数無効なパスワード試行両方原因ユーザーロックアウトされた場合は、最後の日付/時刻の値が返されます。

アカウントロックアウトされていない場合SQL との互換性のために 1/1/1754 が返されます。

いいえ

RequiresQuestionAndAnswer プロパティEnablePasswordReset プロパティ両方true場合ActiveDirectoryMembershipProvider クラスは、事前に設定されている質問解答するようユーザー要求することにより、パスワードリセット セキュリティサポートします質問解答サポートするには、membership の providers の add 要素 (ASP.NET 設定スキーマ) を使用してアプリケーション構成ファイル次の構成属性設定する必要があります

構成属性

属性の型

attributeMapPasswordQuestion

Unicode 文字列型単一の値を持つ属性である必要があります

attributeMapPasswordAnswer

Unicode 文字列型単一の値を持つ属性である必要があります

attributeMapFailedPasswordAnswerCount

Integer 型の単一の値を持つ属性である必要があります

attributeMapFailedPasswordAnswerTime

Large Integer/Interval 型の単一の値を持つ属性である必要があります

attributeMapFailedPasswordAnswerLockoutTime

Large Integer/Interval 型の単一の値を持つ属性である必要があります

パスワードリセット セキュリティ使い方詳細については、RequiresQuestionAndAnswer プロパティトピック参照してください

Active Directory への接続

ActiveDirectoryMembershipProvider クラス使用して Active Directory サーバーまたは ADAM (Active Directory Application Mode) サーバー接続する場合membership の providers の add 要素 (ASP.NET 設定スキーマ) を使用してアプリケーション構成ファイル設定した connectionProtection 属性によって、その接続を介して ActiveDirectoryMembershipProvider クラス実行できる操作種類限定される場合ありますconnectionProtection 属性によって、Active Directory サーバーまたは ADAM サーバーへの接続作成するときに ActiveDirectoryMembershipProvider インスタンス使用するメソッド決まります

Active Directory接続する場合connectionProtection 属性影響次の表に示します

ADAM サーバー接続する場合connectionProtection 属性影響次の表に示します

ADAM の構成

使用例使用例

ActiveDirectoryMembershipProvider インスタンス使用するように構成されASP.NET アプリケーションの Web.config ファイルコード例次に示します最初の例では、Active Directory 属性既定マップ使用してます。質問解答使用したパスワードリセット セキュリティや、検索メソッド呼び出す機能サポートされません。2 番目の例では、ActiveDirectoryMembershipProvider インスタンス許可されるすべての属性設定値を示します

最初の例では、Active Directory 属性既定マップ使用する単純な構成ファイル示します

<configuration>
  <connectionStrings>
    <add name="ADService" connectionString="LDAP://ldapServer/" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
      <providers>
        <add name="AspNetActiveDirectoryMembershipProvider" 
          type="System.Web.Security.ActiveDirectoryMembershipProvider, 
          System.Web, Version=2.0.3600, Culture=neutral, 
          PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </membership>
  </system.web>
</configuration>

この例では、ActiveDirectoryMembershipProvider インスタンス利用可能すべての属性設定値を示します

<configuration>
  <connectionStrings>
    <add name="ADService" connectionString="LDAP://ldapServer/" />
  </connectionStrings>
  <system.web>
    <membership
      defaultProvider="AspNetActiveDirectoryMembershipProvider">
      <providers>
        <add name="AspNetActiveDirectoryMembershipProvider"
          type="System.Web.Security.ActiveDirectoryMembershipProvider,
          System.Web, Version=1.0.3600, Culture=neutral,
          PublicKeyToken=b03f5f7f11d50a3a"
          connectionStringName="ADService"
          connectionUserName="UserWithAppropriateRights"
          connectionPassword="PasswordForUser"
          connectionProtection="Secure"
          enablePasswordReset="true"
          enableSearchMethods="true"
          requiresQuestionAndAnswer="true"
          applicationName="/"
          description="Default AD connection"
          requiresUniqueEmail="false"
          clientSearchTimeout="30"
          serverSearchTimeout="30"
          attributeMapPasswordQuestion="department"
          attributeMapPasswordAnswer="division"
          attributeMapFailedPasswordAnswerCount="singleIntAttribute"
          attributeMapFailedPasswordAnswerTime="singleLargeIntAttribute"
          attributeMapFailedPassswordAnswerLockoutTime="singleLargeIntAttribute"
          maxInvalidPasswordAttemps = "5"
          passwordAttemptWindow = "10"
          passwordAnswerAttemptLockoutDuration = "30"
          minRequiredPasswordLength="7"
          minRequiredNonalphanumericCharacters="1"
          passwordStrengthRegularExpression="
          @\"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})" />
        />
      </providers>
    </membership>
  </system.web>
</configuration>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Configuration.Provider.ProviderBase
     System.Web.Security.MembershipProvider
      System.Web.Security.ActiveDirectoryMembershipProvider
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ActiveDirectoryMembershipProvider メンバ
System.Web.Security 名前空間
その他の技術情報
メンバシップ概要



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ActiveDirectoryMembershipProvider クラス」の関連用語

ActiveDirectoryMembershipProvider クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ActiveDirectoryMembershipProvider クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS