MachineKeySection クラス
アセンブリ: System.Web (system.web.dll 内)


MachineKeySection クラスを使用すると、構成ファイル内の MachineKey セクションの内容にプログラムからアクセスして変更できます。MachineKey セクションは、マシン レベル (Machine.config) またはアプリケーション レベル (Web.config) で構成でき、Windows フォーム認証、ビューステート検証、およびセッション状態のアプリケーション分離に使用されるキーとアルゴリズムを制御します。これらの機能を Web サーバーのネットワーク (Web ファーム) 間で使用するには、1 つの有効なキー値を各 MachineKey 属性に対して明示的に構成する必要があります。"AutoGenerate"値は Web ファームでは機能しません。この値は、マシン ローカル保護を使用して保持され、コンピュータごとに異なる暗号化によるランダム シークレットに依存するためです。
実装時の注意 Web ファームに対応する場合など、この構成セクションにキーを指定する必要がある場合には、プロテクト構成を使用して、このセクションを暗号化することをお勧めします。
この例では、machineKey 要素 (ASP.NET 設定スキーマ) セクションの複数の属性に対して、宣言によって値を指定する方法を示しています。これらの属性には、MachineKeySection クラスのメンバとしてもアクセスできます。
次の構成ファイルの例では、machineKey 要素 (ASP.NET 設定スキーマ) セクションに対して、宣言によって値を指定する方法を示しています。
<system.web> <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1"/> </system.web>
MachineKeySection クラスを使用する方法を次のコード例に示します。
Imports System Imports System.Collections.Generic Imports System.Text Imports System.Configuration Imports System.Web Imports System.Web.Configuration Namespace Samples.Aspnet.SystemWebConfiguration Class UsingMachineKeySection Public Shared Sub Main() Try ' Set the path of the config file. Dim configPath As String = "" ' Get the Web application configuration object. Dim config As System.Configuration.Configuration = _ System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath) ' Get the section related object. Dim configSection As System.Web.Configuration.MachineKeySection = _ CType(config.GetSection("system.web/machineKey"), _ System.Web.Configuration.MachineKeySection) ' Display title and info. Console.WriteLine("ASP.NET Configuration Info") Console.WriteLine() ' Display Config details. Console.WriteLine("File Path: {0}", config.FilePath) Console.WriteLine("Section Path: {0}", configSection.SectionInformation.Name) ' Display ValidationKey property. Console.WriteLine("ValidationKey: {0}", _ configSection.ValidationKey) ' Set ValidationKey property. configSection.ValidationKey = "AutoGenerate,IsolateApps" ' Display DecryptionKey property. Console.WriteLine("DecryptionKey: {0}", configSection.DecryptionKey) ' Set DecryptionKey property. configSection.DecryptionKey = "AutoGenerate,IsolateApps" ' Display Validation value. Console.WriteLine("Validation: {0}", configSection.Validation) ' Set Validation value. configSection.Validation = MachineKeyValidation.SHA1 ' Update if not locked. If Not configSection.SectionInformation.IsLocked Then config.Save() Console.WriteLine("** Configuration updated.") Else Console.WriteLine("** Could not update, section is locked.") End If Catch e As Exception ' Unknown error. Console.WriteLine(e.ToString()) End Try ' Display and wait Console.ReadLine() End Sub End Class End Namespace
#region Using directives using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.Web; using System.Web.Configuration; #endregion namespace Samples.Aspnet.SystemWebConfiguration { class UsingMachineKeySection { static void Main(string[] args) { try { // Set the path of the config file. string configPath = ""; // Get the Web application configuration object. Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath); // Get the section related object. MachineKeySection configSection = (MachineKeySection)config.GetSection("system.web/machineKey"); // Display title and info. Console.WriteLine("ASP.NET Configuration Info"); Console.WriteLine(); // Display Config details. Console.WriteLine("File Path: {0}", config.FilePath); Console.WriteLine("Section Path: {0}", configSection.SectionInformation.Name); // Display ValidationKey property. Console.WriteLine("ValidationKey: {0}", configSection.ValidationKey); // Set ValidationKey property. configSection.ValidationKey = "AutoGenerate,IsolateApps"; // Display DecryptionKey property. Console.WriteLine("DecryptionKey: {0}", configSection.DecryptionKey); // Set DecryptionKey property. configSection.DecryptionKey = "AutoGenerate,IsolateApps"; // Display Validation property. Console.WriteLine("Validation: {0}", configSection.Validation); // Set Validation property. configSection.Validation = MachineKeyValidation.SHA1; // Update if not locked. if (!configSection.SectionInformation.IsLocked) { config.Save(); Console.WriteLine("** Configuration updated."); } else { Console.WriteLine("** Could not update, section is locked."); } } catch (Exception e) { // Unknown error. Console.WriteLine(e.ToString()); } // Display and wait Console.ReadLine(); } } }

System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Web.Configuration.MachineKeySection


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MachineKeySection コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


MachineKeySection コンストラクタは、コードで直接使用するためのものではありません。ASP.NET 構成システムによって呼び出されます。MachineKeySection クラスのインスタンスは、GetSection メソッドを使用して取得します。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MachineKeySection プロパティ

名前 | 説明 | |
---|---|---|
![]() | Decryption | データの復号化に使用されるハッシュ アルゴリズムの種類を指定します。 |
![]() | DecryptionKey | データの暗号化および復号化に使用されるキー、またはキーが生成されるプロセスを取得または設定します。 |
![]() | ElementInformation | ConfigurationElement オブジェクトのカスタマイズできない情報と機能を格納する ElementInformation オブジェクトを取得します。 ( ConfigurationElement から継承されます。) |
![]() | LockAllAttributesExcept | ロックされている属性のコレクションを取得します。 ( ConfigurationElement から継承されます。) |
![]() | LockAllElementsExcept | ロックされている要素のコレクションを取得します。 ( ConfigurationElement から継承されます。) |
![]() | LockAttributes | ロックされている属性のコレクションを取得します。 ( ConfigurationElement から継承されます。) |
![]() | LockElements | ロックされている要素のコレクションを取得します。 ( ConfigurationElement から継承されます。) |
![]() | LockItem | 要素がロックされているかどうかを示す値を取得または設定します。 ( ConfigurationElement から継承されます。) |
![]() | SectionInformation | ConfigurationSection オブジェクトのカスタマイズできない情報と機能を格納する SectionInformation オブジェクトを取得します。 ( ConfigurationSection から継承されます。) |
![]() | Validation | データの検証に使用されるハッシュ アルゴリズムの種類を指定します。 |
![]() | ValidationKey | 暗号化されたデータの検証に使用されるキー、またはキーが生成されるプロセスを取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | ElementProperty | ConfigurationElement オブジェクト自体を表す ConfigurationElementProperty オブジェクトを取得します。 ( ConfigurationElement から継承されます。) |
![]() | EvaluationContext | ConfigurationElement オブジェクトの ContextInformation オブジェクトを取得します。 ( ConfigurationElement から継承されます。) |
![]() | Item | オーバーロードされます。 この ConfigurationElement オブジェクトのプロパティ、属性、または子要素を取得または設定します。 ( ConfigurationElement から継承されます。) |
![]() | Properties | プロパティのコレクションを取得します。 ( ConfigurationElement から継承されます。) |

MachineKeySection メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 現在の ConfigurationElement インスタンスを、指定したオブジェクトと比較します。 ( ConfigurationElement から継承されます。) |
![]() | GetHashCode | 現在の ConfigurationElement インスタンスを表す一意の値を取得します。 ( ConfigurationElement から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsReadOnly | ConfigurationElement オブジェクトが読み取り専用かどうかを示す値を取得します。 ( ConfigurationElement から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | DeserializeElement | 構成ファイルから XML を読み取ります。 ( ConfigurationElement から継承されます。) |
![]() | DeserializeSection | 構成ファイルから XML を読み取ります。 ( ConfigurationSection から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | GetRuntimeObject | 派生クラスでオーバーライドされると、カスタム オブジェクトを返します。 ( ConfigurationSection から継承されます。) |
![]() | Init | ConfigurationElement オブジェクトを初期状態に設定します。 ( ConfigurationElement から継承されます。) |
![]() | InitializeDefault | ConfigurationElement オブジェクトの既定の値セットを初期化するために使用します。 ( ConfigurationElement から継承されます。) |
![]() | IsModified | 派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。 ( ConfigurationSection から継承されます。) |
![]() | ListErrors | この ConfigurationElement オブジェクトおよびすべてのサブ要素の無効なプロパティのエラーを、渡されたリストに追加します。 ( ConfigurationElement から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | OnDeserializeUnrecognizedAttribute | 逆シリカル化中に不明な属性が発生したかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。) |
![]() | OnDeserializeUnrecognizedElement | 逆シリカル化中に不明な要素が発生したかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。) |
![]() | OnRequiredPropertyNotFound | 必須プロパティが見つからなかったかどうかを示す値を取得します。 ( ConfigurationElement から継承されます。) |
![]() | PostDeserialize | 逆シリアル化後に呼び出されます。 ( ConfigurationElement から継承されます。) |
![]() | PreSerialize | シリアル化前に呼び出されます。 ( ConfigurationElement から継承されます。) |
![]() | Reset | ConfigurationElement オブジェクトの内部状態 (ロックやプロパティ コレクションなど) をリセットします。 ( ConfigurationElement から継承されます。) |
![]() | ResetModified | 派生クラスに実装された場合、IsModified メソッドの値を false にリセットします。 ( ConfigurationSection から継承されます。) |
![]() | SerializeElement | 派生クラスに実装されている場合、この構成要素の内容を構成ファイルに書き込みます。 ( ConfigurationElement から継承されます。) |
![]() | SerializeSection | ファイルに書き込む 1 つのセクションとして、ConfigurationSection オブジェクトのアンマージされたビューを含む XML 文字列を作成します。 ( ConfigurationSection から継承されます。) |
![]() | SerializeToXmlElement | 派生クラスに実装されている場合、この構成要素の外側のタグを構成ファイルに書き込みます。 ( ConfigurationElement から継承されます。) |
![]() | SetPropertyValue | プロパティを指定した値に設定します。 ( ConfigurationElement から継承されます。) |
![]() | SetReadOnly | ConfigurationElement オブジェクトおよびすべてのサブ要素に IsReadOnly プロパティを設定します。 ( ConfigurationElement から継承されます。) |
![]() | Unmerge | 保存しないすべての値を削除するには、ConfigurationElement オブジェクトを変更します。 ( ConfigurationElement から継承されます。) |

MachineKeySection メンバ
Windows フォーム認証、ビューステート検証、およびセッション状態のアプリケーション分離で、暗号化、復号化、およぴメディア アクセス制御 (MAC: Media Access Control) を実行する場合に使用されるキー生成とアルゴリズムを制御する構成設定を定義します。このクラスは継承できません。
MachineKeySection データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Decryption | データの復号化に使用されるハッシュ アルゴリズムの種類を指定します。 |
![]() | DecryptionKey | データの暗号化および復号化に使用されるキー、またはキーが生成されるプロセスを取得または設定します。 |
![]() | ElementInformation | ConfigurationElement オブジェクトのカスタマイズできない情報と機能を格納する ElementInformation オブジェクトを取得します。 (ConfigurationElement から継承されます。) |
![]() | LockAllAttributesExcept | ロックされている属性のコレクションを取得します。(ConfigurationElement から継承されます。) |
![]() | LockAllElementsExcept | ロックされている要素のコレクションを取得します。(ConfigurationElement から継承されます。) |
![]() | LockAttributes | ロックされている属性のコレクションを取得します。 (ConfigurationElement から継承されます。) |
![]() | LockElements | ロックされている要素のコレクションを取得します。(ConfigurationElement から継承されます。) |
![]() | LockItem | 要素がロックされているかどうかを示す値を取得または設定します。(ConfigurationElement から継承されます。) |
![]() | SectionInformation | ConfigurationSection オブジェクトのカスタマイズできない情報と機能を格納する SectionInformation オブジェクトを取得します。 (ConfigurationSection から継承されます。) |
![]() | Validation | データの検証に使用されるハッシュ アルゴリズムの種類を指定します。 |
![]() | ValidationKey | 暗号化されたデータの検証に使用されるキー、またはキーが生成されるプロセスを取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | ElementProperty | ConfigurationElement オブジェクト自体を表す ConfigurationElementProperty オブジェクトを取得します。(ConfigurationElement から継承されます。) |
![]() | EvaluationContext | ConfigurationElement オブジェクトの ContextInformation オブジェクトを取得します。(ConfigurationElement から継承されます。) |
![]() | Item | オーバーロードされます。 この ConfigurationElement オブジェクトのプロパティ、属性、または子要素を取得または設定します。(ConfigurationElement から継承されます。) |
![]() | Properties | プロパティのコレクションを取得します。(ConfigurationElement から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 現在の ConfigurationElement インスタンスを、指定したオブジェクトと比較します。 (ConfigurationElement から継承されます。) |
![]() | GetHashCode | 現在の ConfigurationElement インスタンスを表す一意の値を取得します。 (ConfigurationElement から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsReadOnly | ConfigurationElement オブジェクトが読み取り専用かどうかを示す値を取得します。 (ConfigurationElement から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | DeserializeElement | 構成ファイルから XML を読み取ります。 (ConfigurationElement から継承されます。) |
![]() | DeserializeSection | 構成ファイルから XML を読み取ります。 (ConfigurationSection から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | GetRuntimeObject | 派生クラスでオーバーライドされると、カスタム オブジェクトを返します。 (ConfigurationSection から継承されます。) |
![]() | Init | ConfigurationElement オブジェクトを初期状態に設定します。 (ConfigurationElement から継承されます。) |
![]() | InitializeDefault | ConfigurationElement オブジェクトの既定の値セットを初期化するために使用します。 (ConfigurationElement から継承されます。) |
![]() | IsModified | 派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。 (ConfigurationSection から継承されます。) |
![]() | ListErrors | この ConfigurationElement オブジェクトおよびすべてのサブ要素の無効なプロパティのエラーを、渡されたリストに追加します。 (ConfigurationElement から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | OnDeserializeUnrecognizedAttribute | 逆シリカル化中に不明な属性が発生したかどうかを示す値を取得します。 (ConfigurationElement から継承されます。) |
![]() | OnDeserializeUnrecognizedElement | 逆シリカル化中に不明な要素が発生したかどうかを示す値を取得します。 (ConfigurationElement から継承されます。) |
![]() | OnRequiredPropertyNotFound | 必須プロパティが見つからなかったかどうかを示す値を取得します。 (ConfigurationElement から継承されます。) |
![]() | PostDeserialize | 逆シリアル化後に呼び出されます。 (ConfigurationElement から継承されます。) |
![]() | PreSerialize | シリアル化前に呼び出されます。 (ConfigurationElement から継承されます。) |
![]() | Reset | ConfigurationElement オブジェクトの内部状態 (ロックやプロパティ コレクションなど) をリセットします。 (ConfigurationElement から継承されます。) |
![]() | ResetModified | 派生クラスに実装された場合、IsModified メソッドの値を false にリセットします。 (ConfigurationSection から継承されます。) |
![]() | SerializeElement | 派生クラスに実装されている場合、この構成要素の内容を構成ファイルに書き込みます。 (ConfigurationElement から継承されます。) |
![]() | SerializeSection | ファイルに書き込む 1 つのセクションとして、ConfigurationSection オブジェクトのアンマージされたビューを含む XML 文字列を作成します。 (ConfigurationSection から継承されます。) |
![]() | SerializeToXmlElement | 派生クラスに実装されている場合、この構成要素の外側のタグを構成ファイルに書き込みます。 (ConfigurationElement から継承されます。) |
![]() | SetPropertyValue | プロパティを指定した値に設定します。 (ConfigurationElement から継承されます。) |
![]() | SetReadOnly | ConfigurationElement オブジェクトおよびすべてのサブ要素に IsReadOnly プロパティを設定します。 (ConfigurationElement から継承されます。) |
![]() | Unmerge | 保存しないすべての値を削除するには、ConfigurationElement オブジェクトを変更します。 (ConfigurationElement から継承されます。) |

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

- MachineKeySectionのページへのリンク