MachineKeySection MachineKeySection MachineKeySection MachineKeySection Class

정의

Windows Forms 인증, 뷰 상태 확인 및 애플리케이션별 세션 상태 격리를 수행할 때 암호화, 해독 및 MAC(Message Authentication Code) 작업에 사용되는 알고리즘과 키 생성을 제어하는 구성 설정을 정의합니다.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 Forms 인증, 뷰 상태 유효성 검사 및 세션 상태 애플리케이션에 사용 되는 알고리즘을 제어 격리 합니다.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. 웹 서버 (웹 팜) 네트워크에서 작동 하도록 이러한 기능에 대 한 합니다 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 로컬 컴퓨터 보호를 사용 하 여 유지 되 고 됩니다 동일한 여러 컴퓨터 간에 암호화 된 임의 암호를 사용 하기 때문에 웹 팜에 대 한 값 작동 하지 않습니다.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.

상속자 참고

이 구성 섹션에서 키로 지정할 수는 웹 팜 시나리오에 필요한 경우 보호 된 구성을 사용 하 여이 섹션을 암호화 하는 것이 좋습니다.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 버전 2.0 서비스 팩 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)

deserialize하는 동안 알 수 없는 특성을 발견했는지 여부를 나타내는 값을 가져옵니다.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)

deserialize하는 동안 알 수 없는 요소를 발견했는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether an unknown element is encountered during deserialization.

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

필수 속성이 없으면 예외를 throw합니다.Throws an exception when a required property is not found.

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

deserialization 후에 호출됩니다.Called after deserialization.

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

serialization 전에 호출됩니다.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)

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에 대해 구성 개체 계층 구조가 serialize된 경우 지정된 요소를 serialize할지 여부를 나타냅니다.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에 대해 구성 개체 계층 구조가 serialize된 경우 지정된 속성을 serialize할지 여부를 나타냅니다.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에 대해 구성 개체 계층 구조가 serialize된 경우 현재 ConfigurationSection 인스턴스를 serialize할지 여부를 나타냅니다.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)

적용 대상

추가 정보