MachineKeySection 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Windows Forms 인증, 뷰 상태 확인 및 애플리케이션별 세션 상태 격리를 수행할 때 암호화, 해독 및 MAC(Message Authentication Code) 작업에 사용되는 알고리즘과 키 생성을 제어하는 구성 설정을 정의합니다. 이 클래스는 상속될 수 없습니다.
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 멤버로도 액세스할 수 있습니다.
구성 파일의 다음 예제에서는 machineKey 섹션에 대해 선언적으로 값을 지정하는 방법을 보여 줍니다.
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
</system.web>
이 예제에서는 SHA1을 사용합니다. SHA1 관련 충돌 문제로 인해 SHA256을 사용하는 것이 좋습니다.
다음 예제에서는 사용 하는 방법에 설명 합니다 MachineKeySection 코드에서 클래스입니다.
#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.HMACSHA256;
// 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.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.HMACSHA256
' 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
구성 파일의 섹션입니다.
MachineKey
섹션 (Machine.config) 컴퓨터 또는 애플리케이션 (Web.config) 수준에서 구성할 수 있으며 키 및 Windows Forms 인증, 뷰 상태 유효성 검사 및 세션 상태 애플리케이션에 사용 되는 알고리즘을 제어 격리 합니다. 웹 서버 (웹 팜) 네트워크에서 작동 하도록 이러한 기능에 대 한 합니다 DecryptionKey
및 ValidationKey
의 특성을 MachineKey
섹션으로 구성 되어야 합니다 명시적으로 동일 하 게 유효한 키 값입니다.
AutoGenerate
로컬 컴퓨터 보호를 사용 하 여 유지 되 고 됩니다 동일한 여러 컴퓨터 간에 암호화 된 임의 암호를 사용 하기 때문에 웹 팜에 대 한 값 작동 하지 않습니다.
상속자 참고
이 구성 섹션에서 키로 지정할 수는 웹 팜 시나리오에 필요한 경우 보호 된 구성을 사용 하 여이 섹션을 암호화 하는 것이 좋습니다.
생성자
MachineKeySection() |
기본 설정을 사용하여 MachineKeySection 클래스의 새 인스턴스를 초기화합니다. |
속성
ApplicationName |
애플리케이션의 이름을 가져오거나 설정합니다. |
CompatibilityMode |
.NET Framework 버전 2.0 서비스 팩 1 릴리스 후에 도입된 뷰 상태에 대한 업그레이드된 암호화 방법을 사용할지 여부를 지정하는 값을 가져오거나 설정합니다. |
CurrentConfiguration |
현재 Configuration 인스턴스가 속해 있는 구성 계층 구조를 나타내는 최상위 ConfigurationElement 인스턴스에 대한 참조를 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
DataProtectorType |
데이터 보호자 형식의 이름을 가져오거나 설정합니다. 기본값은 Empty입니다. |
Decryption |
폼 인증 데이터 암호화 및 암호 해독에 사용되는 암호화 알고리즘을 지정합니다. |
DecryptionKey |
데이터 암호화 및 암호 해독에 사용되는 키 또는 키가 생성되는 프로세스를 가져오거나 설정합니다. |
ElementInformation |
ElementInformation 개체의 사용자 지정할 수 없는 정보와 기능을 포함하는 ConfigurationElement 개체를 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
ElementProperty |
ConfigurationElementProperty 개체 자체를 나타내는 ConfigurationElement 개체를 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
EvaluationContext |
ContextInformation 개체의 ConfigurationElement 개체를 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
HasContext |
CurrentConfiguration 속성이 |
Item[ConfigurationProperty] |
이 구성 요소의 속성이나 특성을 가져오거나 설정합니다. (다음에서 상속됨 ConfigurationElement) |
Item[String] |
이 구성 요소의 속성, 특성 또는 자식 요소를 가져오거나 설정합니다. (다음에서 상속됨 ConfigurationElement) |
LockAllAttributesExcept |
잠긴 특성의 컬렉션을 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
LockAllElementsExcept |
잠긴 요소의 컬렉션을 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
LockAttributes |
잠긴 특성의 컬렉션을 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
LockElements |
잠긴 요소의 컬렉션을 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
LockItem |
요소가 잠겨 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 ConfigurationElement) |
Properties |
속성 컬렉션을 가져옵니다. (다음에서 상속됨 ConfigurationElement) |
SectionInformation |
사용자가 지정할 수 없는 SectionInformation 개체의 정보와 기능을 포함하는 ConfigurationSection 개체를 가져옵니다. (다음에서 상속됨 ConfigurationSection) |
Validation |
폼 인증 및 뷰 상태 데이터의 유효성 검사에 사용되는 해시 알고리즘을 지정합니다. |
ValidationAlgorithm |
폼 인증 및 뷰 상태 데이터의 유효성 검사에 사용되는 알고리즘의 이름을 가져오거나 설정합니다. |
ValidationKey |
폼 인증 및 뷰 상태 데이터의 유효성 검사에 사용되는 키 또는 키가 생성되는 프로세스를 가져오거나 설정합니다. |
메서드
적용 대상
추가 정보
.NET