MachineKeySection MachineKeySection MachineKeySection MachineKeySection Class

定義

Windows フォーム認証、ビューステート検証、およびセッション状態のアプリケーション分離において、暗号化、復号化、およびメッセージ認証コード (MAC) の各操作を実行する場合に使用されるキー生成とアルゴリズムを制御する構成設定を定義します。Defines the configuration settings that control the key generation and algorithms that are used in encryption, decryption, and message authentication code (MAC) operations in Windows Forms authentication, view-state validation, and session-state application isolation. このクラスは継承できません。This class cannot be inherited.

public ref class MachineKeySection sealed : System::Configuration::ConfigurationSection
public sealed class MachineKeySection : System.Configuration.ConfigurationSection
type MachineKeySection = class
    inherit ConfigurationSection
Public NotInheritable Class MachineKeySection
Inherits ConfigurationSection
継承

このセクションの例では、宣言の複数の属性の値を指定する方法を示します、 machineKeyセクションのメンバーとしてアクセスすることも、MachineKeySectionクラス。The example in this section demonstrates how to specify values declaratively for several attributes of the machineKey section, which can also be accessed as members of the MachineKeySection class.

構成ファイルから次の例は、宣言によっての値を指定する方法を示します、 machineKeyセクション。The following example from a configuration file shows how to specify values declaratively for the machineKey section.

<system.web>  
  <machineKey validationKey="AutoGenerate,IsolateApps"   
    decryptionKey="AutoGenerate,IsolateApps"   
    validation="SHA1"/>  
</system.web>  

次の例では、使用する方法、MachineKeySectionコード内のクラス。The following example demonstrates how to use the MachineKeySection class in code.

#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();
    }
  }
}
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

注釈

MachineKeySectionクラスは、プログラムからアクセスしてコンテンツを編集する方法を提供、MachineKey構成ファイルのセクション。The MachineKeySection class provides a way to programmatically access and modify the content of the MachineKey section in the configuration file. MachineKeyセクション (Machine.config) のマシンまたはアプリケーション (Web.config) レベルで構成することができ、キーと Windows フォーム認証、ビューステート検証、およびセッション状態のアプリケーションに使用されるアルゴリズムを制御分離します。The MachineKey section can be configured at the machine (Machine.config) or application (Web.config) level and controls the keys and algorithms that are used for Windows Forms authentication, view-state validation, and session-state application isolation. これらの機能を Web サーバー (Web ファーム) のネットワーク機能のいずれかのDecryptionKeyValidationKeyの属性、MachineKeyセクションで構成されなければなりません明示的に有効なキー値。For any of these features to work across a network of Web servers (a Web farm), the DecryptionKey and ValidationKey attributes of the MachineKey section must be configured explicitly and identically with valid key values. AutoGenerate値では、ローカル マシンの保護を使用して永続化し、1 つ以上のコンピューター間で同じになりませんが、暗号化されたランダムなシークレットに依存するため、Web ファームとして機能しません。The AutoGenerate value does not work for Web farms, because it relies on a cryptographically random secret, which is persisted using machine-local protection and will not be the same across more than one computer.

注意 (継承者)

Web ファームのシナリオとして、この構成セクション内のキーを指定することが必要な場合は、保護された構成を使用して、このセクションを暗号化することをお勧めします。If you to specify keys in this configuration section, as is required in Web-farm scenarios, it is recommended that you encrypt this section by using protected configuration.

コンストラクター

MachineKeySection() MachineKeySection() MachineKeySection() MachineKeySection()

既定の設定を使用して MachineKeySection クラスの新しいインスタンスを初期化します。Initializes a new instance of the MachineKeySection class by using default settings.

プロパティ

ApplicationName ApplicationName ApplicationName ApplicationName

アプリケーションの名前を取得または設定します。Gets or sets the name of the application.

CompatibilityMode CompatibilityMode CompatibilityMode CompatibilityMode

.NET Framework Version 2.0 Service Pack 1 より後のリリースで導入された、アップグレードされたビューステートの暗号化方式を使用するかどうかを指定する値を取得または設定します。Gets or sets a value that specifies whether upgraded encryption methods for view state that were introduced after the .NET Framework version 2.0 Service Pack 1 release are used.

CurrentConfiguration CurrentConfiguration CurrentConfiguration CurrentConfiguration

現在の Configuration インスタンスが属している構成階層を表す最上位の ConfigurationElement インスタンスへの参照を取得します。Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to.

(Inherited from ConfigurationElement)
DataProtectorType DataProtectorType DataProtectorType DataProtectorType

データ プロテクターの型の名前を取得または設定します。Gets or sets the name of the data protector type. 既定値は、Empty です。The default is Empty.

Decryption Decryption Decryption Decryption

フォーム認証データの暗号化と復号化に使用される暗号化アルゴリズムを指定します。Specifies the encryption algorithm that is used for encrypting and decrypting forms authentication data.

DecryptionKey DecryptionKey DecryptionKey DecryptionKey

データの暗号化および復号化に使用されるキー、またはキーが生成されるプロセスを取得または設定します。Gets or sets the key that is used to encrypt and decrypt data, or the process by which the key is generated.

ElementInformation ElementInformation ElementInformation ElementInformation

ElementInformation オブジェクトのカスタマイズできない情報と機能を格納する ConfigurationElement オブジェクトを取得します。Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object.

(Inherited from ConfigurationElement)
ElementProperty ElementProperty ElementProperty ElementProperty

ConfigurationElementProperty オブジェクト自体を表す ConfigurationElement オブジェクトを取得します。Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself.

(Inherited from ConfigurationElement)
EvaluationContext EvaluationContext EvaluationContext EvaluationContext

ContextInformation オブジェクトの ConfigurationElement オブジェクトを取得します。Gets the ContextInformation object for the ConfigurationElement object.

(Inherited from ConfigurationElement)
HasContext HasContext HasContext HasContext

CurrentConfiguration プロパティが null であるかどうかを示す値を取得します。Gets a value that indicates whether the CurrentConfiguration property is null.

(Inherited from ConfigurationElement)
Item[ConfigurationProperty] Item[ConfigurationProperty] Item[ConfigurationProperty] Item[ConfigurationProperty]

この構成要素のプロパティまたは属性を取得または設定します。Gets or sets a property or attribute of this configuration element.

(Inherited from ConfigurationElement)
Item[String] Item[String] Item[String] Item[String]

この構成要素のプロパティ、属性、または子要素を取得または設定します。Gets or sets a property, attribute, or child element of this configuration element.

(Inherited from ConfigurationElement)
LockAllAttributesExcept LockAllAttributesExcept LockAllAttributesExcept LockAllAttributesExcept

ロックされている属性のコレクションを取得します。Gets the collection of locked attributes.

(Inherited from ConfigurationElement)
LockAllElementsExcept LockAllElementsExcept LockAllElementsExcept LockAllElementsExcept

ロックされている要素のコレクションを取得します。Gets the collection of locked elements.

(Inherited from ConfigurationElement)
LockAttributes LockAttributes LockAttributes LockAttributes

ロックされている属性のコレクションを取得します。Gets the collection of locked attributes

(Inherited from ConfigurationElement)
LockElements LockElements LockElements LockElements

ロックされている要素のコレクションを取得します。Gets the collection of locked elements.

(Inherited from ConfigurationElement)
LockItem LockItem LockItem LockItem

要素がロックされているかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the element is locked.

(Inherited from ConfigurationElement)
Properties Properties Properties Properties

プロパティのコレクションを取得します。Gets the collection of properties.

(Inherited from ConfigurationElement)
SectionInformation SectionInformation SectionInformation SectionInformation

SectionInformation オブジェクトのカスタマイズできない情報と機能を格納する ConfigurationSection オブジェクトを取得します。Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object.

(Inherited from ConfigurationSection)
Validation Validation Validation Validation

フォーム認証とビューステート データの検証に使用されるハッシュ アルゴリズムを指定します。Specifies the hashing algorithm that is used for validating forms authentication and view state data.

ValidationAlgorithm ValidationAlgorithm ValidationAlgorithm ValidationAlgorithm

フォーム認証データとビュー ステート データの検証に使用されるアルゴリズムの名前を取得または設定します。Gets or sets the name of the algorithm that is used to validate forms authentication and view state data.

ValidationKey ValidationKey ValidationKey ValidationKey

フォーム認証データとビューステート データの検証に使用されるキー、またはキーが生成されるプロセスを取得または設定します。Gets or sets the key that is used to validate forms authentication and view state data, or the process by which the key is generated.

メソッド

DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean)

構成ファイルから XML を読み取ります。Reads XML from the configuration file.

(Inherited from ConfigurationElement)
DeserializeSection(XmlReader) DeserializeSection(XmlReader) DeserializeSection(XmlReader) DeserializeSection(XmlReader)

構成ファイルから XML を読み取ります。Reads XML from the configuration file.

(Inherited from ConfigurationSection)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

現在の ConfigurationElement インスタンスを、指定したオブジェクトと比較します。Compares the current ConfigurationElement instance to the specified object.

(Inherited from ConfigurationElement)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

現在の ConfigurationElement インスタンスを表す一意の値を取得します。Gets a unique value representing the current ConfigurationElement instance.

(Inherited from ConfigurationElement)
GetRuntimeObject() GetRuntimeObject() GetRuntimeObject() GetRuntimeObject()

派生クラスでオーバーライドされると、カスタム オブジェクトを返します。Returns a custom object when overridden in a derived class.

(Inherited from ConfigurationSection)
GetTransformedAssemblyString(String) GetTransformedAssemblyString(String) GetTransformedAssemblyString(String) GetTransformedAssemblyString(String)

指定されたアセンブリ名を変換して返します。Returns the transformed version of the specified assembly name.

(Inherited from ConfigurationElement)
GetTransformedTypeString(String) GetTransformedTypeString(String) GetTransformedTypeString(String) GetTransformedTypeString(String)

指定された型名を変換して返します。Returns the transformed version of the specified type name.

(Inherited from ConfigurationElement)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
Init() Init() Init() Init()

ConfigurationElement オブジェクトを初期状態に設定します。Sets the ConfigurationElement object to its initial state.

(Inherited from ConfigurationElement)
InitializeDefault() InitializeDefault() InitializeDefault() InitializeDefault()

ConfigurationElement オブジェクトの既定の値セットを初期化するために使用します。Used to initialize a default set of values for the ConfigurationElement object.

(Inherited from ConfigurationElement)
IsModified() IsModified() IsModified() IsModified()

派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。Indicates whether this configuration element has been modified since it was last saved or loaded when implemented in a derived class.

(Inherited from ConfigurationSection)
IsReadOnly() IsReadOnly() IsReadOnly() IsReadOnly()

ConfigurationElement オブジェクトが読み取り専用かどうかを示す値を取得します。Gets a value indicating whether the ConfigurationElement object is read-only.

(Inherited from ConfigurationElement)
ListErrors(IList) ListErrors(IList) ListErrors(IList) ListErrors(IList)

この ConfigurationElement オブジェクトおよびすべてのサブ要素の無効なプロパティのエラーを、渡されたリストに追加します。Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list.

(Inherited from ConfigurationElement)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String)

逆シリカル化中に不明な属性が発生したかどうかを示す値を取得します。Gets a value indicating whether an unknown attribute is encountered during deserialization.

(Inherited from ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader)

逆シリカル化中に不明な要素が発生したかどうかを示す値を取得します。Gets a value indicating whether an unknown element is encountered during deserialization.

(Inherited from ConfigurationElement)
OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String)

必要なプロパティが見つからないと例外がスローされます。Throws an exception when a required property is not found.

(Inherited from ConfigurationElement)
PostDeserialize() PostDeserialize() PostDeserialize() PostDeserialize()

逆シリアル化後に呼び出されます。Called after deserialization.

(Inherited from ConfigurationElement)
PreSerialize(XmlWriter) PreSerialize(XmlWriter) PreSerialize(XmlWriter) PreSerialize(XmlWriter)

シリアル化前に呼び出されます。Called before serialization.

(Inherited from ConfigurationElement)
Reset(ConfigurationElement) Reset(ConfigurationElement) Reset(ConfigurationElement) Reset(ConfigurationElement)

ConfigurationElement オブジェクトの内部状態 (ロックやプロパティ コレクションなど) をリセットします。Resets the internal state of the ConfigurationElement object, including the locks and the properties collections.

(Inherited from ConfigurationElement)
ResetModified() ResetModified() ResetModified() ResetModified()

IsModified() メソッドの値が派生クラスに実装されたときに、false にリセットします。Resets the value of the IsModified() method to false when implemented in a derived class.

(Inherited from ConfigurationSection)
SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean)

派生クラスに実装されている場合、この構成要素の内容を構成ファイルに書き込みます。Writes the contents of this configuration element to the configuration file when implemented in a derived class.

(Inherited from ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

ファイルに書き込む 1 つのセクションとして、ConfigurationSection オブジェクトのアンマージされたビューを含む XML 文字列を作成します。Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file.

(Inherited from ConfigurationSection)
SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String)

派生クラスに実装されている場合、この構成要素の外側のタグを構成ファイルに書き込みます。Writes the outer tags of this configuration element to the configuration file when implemented in a derived class.

(Inherited from ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean)

プロパティを指定した値に設定します。Sets a property to the specified value.

(Inherited from ConfigurationElement)
SetReadOnly() SetReadOnly() SetReadOnly() SetReadOnly()

IsReadOnly() オブジェクトおよびすべてのサブ要素に ConfigurationElement プロパティを設定します。Sets the IsReadOnly() property for the ConfigurationElement object and all subelements.

(Inherited from ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

指定されたターゲット バージョンの .NET Framework.NET Framework 用に構成オブジェクト階層をシリアル化するとき、指定された要素がシリアル化されるかどうかを示します。Indicates whether the specified element should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework.NET Framework.

(Inherited from ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

指定されたターゲット バージョンの .NET Framework.NET Framework 用に構成オブジェクト階層をシリアル化するとき、指定されたプロパティがシリアル化されるかどうかを示します。Indicates whether the specified property should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework.NET Framework.

(Inherited from ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName) ShouldSerializeSectionInTargetVersion(FrameworkName) ShouldSerializeSectionInTargetVersion(FrameworkName) ShouldSerializeSectionInTargetVersion(FrameworkName)

指定されたターゲット バージョンの .NET Framework.NET Framework 用に構成オブジェクト階層をシリアル化するとき、現在の ConfigurationSection インスタンスがシリアル化されるかどうかを示します。Indicates whether the current ConfigurationSection instance should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework.NET Framework.

(Inherited from ConfigurationSection)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

保存しないすべての値を削除するには、ConfigurationElement オブジェクトを変更します。Modifies the ConfigurationElement object to remove all values that should not be saved.

(Inherited from ConfigurationElement)

適用対象

こちらもご覧ください