MachineKeySection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Windows Forms kimlik doğrulaması, görünüm durumu doğrulaması ve oturum durumu uygulama yalıtımında şifreleme, şifre çözme ve ileti kimlik doğrulama kodu (MAC) işlemlerinde kullanılan anahtar oluşturma ve algoritmaları denetleye yapılandırma ayarlarını tanımlar. Bu sınıf devralınamaz.
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
- Devralma
Örnekler
Bu bölümdeki örnekte machineKey bölümünün çeşitli öznitelikleri için değerlerin bildirimli olarak nasıl belirtileceği gösterilmektedir. Bu özniteliklere sınıfın MachineKeySection üyeleri olarak da erişilebilir.
Bir yapılandırma dosyasındaki aşağıdaki örnekte machineKey bölümü için değerleri bildirimli olarak belirtme gösterilmektedir.
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
</system.web>
Bu örnekte SHA1 kullanılır. SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft SHA256'yı önerir.
Aşağıdaki örnekte kodda sınıfının nasıl kullanılacağı MachineKeySection gösterilmektedir.
#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
Açıklamalar
sınıfı, MachineKeySection yapılandırma dosyasındaki bölümün MachineKey
içeriğine program aracılığıyla erişmek ve bunları değiştirmek için bir yol sağlar. Bölüm MachineKey
makine (Machine.config) veya uygulama (Web.config) düzeyinde yapılandırılabilir ve Windows Forms kimlik doğrulaması, görünüm durumu doğrulaması ve oturum durumu uygulama yalıtımı için kullanılan anahtarları ve algoritmaları denetler. Bu özelliklerden herhangi birinin bir Web sunucuları ağı (web grubu) DecryptionKey
üzerinde çalışması için bölümün MachineKey
ve ValidationKey
özniteliklerinin geçerli anahtar değerleriyle açıkça ve aynı şekilde yapılandırılması gerekir.
AutoGenerate
Değer Web grupları için çalışmaz, çünkü makine yerel koruması kullanılarak kalıcı hale gelen ve birden fazla bilgisayarda aynı olmayacak olan şifreli rastgele bir gizli diziye dayanır.
Devralanlara Notlar
Web grubu senaryolarında gerektiği gibi, bu yapılandırma bölümünde anahtarları belirtecekseniz, bu bölümü korumalı yapılandırma kullanarak şifrelemeniz önerilir.
Oluşturucular
MachineKeySection() |
Varsayılan ayarları kullanarak sınıfının yeni bir örneğini MachineKeySection başlatır. |
Özellikler
ApplicationName |
Uygulamanın adını alır veya ayarlar. |
CompatibilityMode |
.NET Framework sürüm 2.0 Service Pack 1 sürümünden sonra sunulan görünüm durumu için yükseltilen şifreleme yöntemlerinin kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar. |
CurrentConfiguration |
Geçerli ConfigurationElement örneğin ait olduğu yapılandırma hiyerarşisini temsil eden en üst düzey Configuration örneğe başvuru alır. (Devralındığı yer: ConfigurationElement) |
DataProtectorType |
Veri koruyucusu türünün adını alır veya ayarlar. Varsayılan değer: Empty. |
Decryption |
Form kimlik doğrulama verilerini şifrelemek ve şifresini çözmek için kullanılan şifreleme algoritmasını belirtir. |
DecryptionKey |
Verileri şifrelemek ve şifresini çözmek için kullanılan anahtarı veya anahtarın oluşturulduğu işlemi alır veya ayarlar. |
ElementInformation |
Nesnenin özelleştirilebilir olmayan bilgilerini ve işlevselliğini ConfigurationElement içeren bir ElementInformation nesnesi alır. (Devralındığı yer: ConfigurationElement) |
ElementProperty |
Nesnenin ConfigurationElementProperty kendisini temsil ConfigurationElement eden nesneyi alır. (Devralındığı yer: ConfigurationElement) |
EvaluationContext |
Nesnenin ContextInformation nesnesini ConfigurationElement alır. (Devralındığı yer: ConfigurationElement) |
HasContext |
özelliğinin |
Item[ConfigurationProperty] |
Bu yapılandırma öğesinin özelliğini veya özniteliğini alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
Item[String] |
Bu yapılandırma öğesinin bir özelliğini, özniteliğini veya alt öğesini alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
LockAllAttributesExcept |
Kilitli özniteliklerin koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockAllElementsExcept |
Kilitli öğeler koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockAttributes |
Kilitli özniteliklerin koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockElements |
Kilitli öğeler koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockItem |
Öğesinin kilitli olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
Properties |
Özellik koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
SectionInformation |
SectionInformation Özelleştirilebilir olmayan bilgileri ve nesnenin işlevselliğini ConfigurationSection içeren bir nesnesi alır. (Devralındığı yer: ConfigurationSection) |
Validation |
Form kimlik doğrulamasını doğrulamak ve durum verilerini görüntülemek için kullanılan karma algoritmayı belirtir. |
ValidationAlgorithm |
Form kimlik doğrulamasını doğrulamak ve durum verilerini görüntülemek için kullanılan algoritmanın adını alır veya ayarlar. |
ValidationKey |
Form kimlik doğrulamasını doğrulamak ve durum verilerini görüntülemek için kullanılan anahtarı veya anahtarın oluşturulduğu işlemi alır veya ayarlar. |
Yöntemler
DeserializeElement(XmlReader, Boolean) |
Yapılandırma dosyasından XML okur. (Devralındığı yer: ConfigurationElement) |
DeserializeSection(XmlReader) |
Yapılandırma dosyasından XML okur. (Devralındığı yer: ConfigurationSection) |
Equals(Object) |
Geçerli ConfigurationElement örneği belirtilen nesneyle karşılaştırır. (Devralındığı yer: ConfigurationElement) |
GetHashCode() |
Geçerli ConfigurationElement örneği temsil eden benzersiz bir değer alır. (Devralındığı yer: ConfigurationElement) |
GetRuntimeObject() |
Türetilmiş bir sınıfta geçersiz kılındığında özel bir nesne döndürür. (Devralındığı yer: ConfigurationSection) |
GetTransformedAssemblyString(String) |
Belirtilen derleme adının dönüştürülmüş sürümünü döndürür. (Devralındığı yer: ConfigurationElement) |
GetTransformedTypeString(String) |
Belirtilen tür adının dönüştürülmüş sürümünü döndürür. (Devralındığı yer: ConfigurationElement) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
Init() |
ConfigurationElement Nesneyi ilk durumuna ayarlar. (Devralındığı yer: ConfigurationElement) |
InitializeDefault() |
Nesne için varsayılan değer kümesini başlatmak için ConfigurationElement kullanılır. (Devralındığı yer: ConfigurationElement) |
IsModified() |
Bu yapılandırma öğesinin türetilmiş bir sınıfta uygulandığında son kaydedildiğinden veya yüklendiğinden beri değiştirilip değiştirilmediğini gösterir. (Devralındığı yer: ConfigurationSection) |
IsReadOnly() |
Nesnenin ConfigurationElement salt okunur olup olmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
ListErrors(IList) |
Bu ConfigurationElement nesnedeki ve tüm alt öğelerdeki invalid-property hatalarını geçirilen listeye ekler. (Devralındığı yer: ConfigurationElement) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Seri durumdan çıkarma sırasında bilinmeyen bir öznitelikle karşılaşılıp karşılaşılmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Seri durumdan çıkarma sırasında bilinmeyen bir öğeyle karşılaşılıp karşılaşılmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Gerekli bir özellik bulunamadığında bir özel durum oluşturur. (Devralındığı yer: ConfigurationElement) |
PostDeserialize() |
Seri durumdan çıkarıldıktan sonra çağrılır. (Devralındığı yer: ConfigurationElement) |
PreSerialize(XmlWriter) |
Serileştirmeden önce çağrılır. (Devralındığı yer: ConfigurationElement) |
Reset(ConfigurationElement) |
Kilitler ve özellik koleksiyonları dahil olmak üzere nesnenin iç durumunu ConfigurationElement sıfırlar. (Devralındığı yer: ConfigurationElement) |
ResetModified() |
Türetilmiş bir sınıfta uygulandığında yönteminin IsModified() |
SerializeElement(XmlWriter, Boolean) |
Türetilmiş bir sınıfta uygulandığında bu yapılandırma öğesinin içeriğini yapılandırma dosyasına yazar. (Devralındığı yer: ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Bir dosyaya yazmak için tek bir bölüm olarak nesnenin ConfigurationSection birleştirilmemiş bir görünümünü içeren bir XML dizesi oluşturur. (Devralındığı yer: ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Türetilmiş bir sınıfta uygulandığında bu yapılandırma öğesinin dış etiketlerini yapılandırma dosyasına yazar. (Devralındığı yer: ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Bir özelliği belirtilen değere ayarlar. (Devralındığı yer: ConfigurationElement) |
SetReadOnly() |
IsReadOnly() Nesnenin ve tüm alt öğelerinin ConfigurationElement özelliğini ayarlar. (Devralındığı yer: ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde belirtilen öğenin seri hale getirilip getirilmeyeceğini gösterir. (Devralındığı yer: ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde belirtilen özelliğin seri hale getirilip getirilmeyeceğini gösterir. (Devralındığı yer: ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde geçerli ConfigurationSection örneğin seri hale getirilip getirilmeyeceğini gösterir. (Devralındığı yer: ConfigurationSection) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
ConfigurationElement Kaydedilmemesi gereken tüm değerleri kaldırmak için nesnesini değiştirir. (Devralındığı yer: ConfigurationElement) |