MachineKeySection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan pengaturan konfigurasi yang mengontrol pembuatan kunci dan algoritma yang digunakan dalam operasi enkripsi, dekripsi, dan kode autentikasi pesan (MAC) dalam autentikasi Formulir Windows, validasi status tampilan, dan isolasi aplikasi status sesi. Kelas ini tidak dapat diwariskan.
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
- Warisan
Contoh
Contoh di bagian ini menunjukkan cara menentukan nilai secara deklaratif untuk beberapa atribut bagian machineKey , yang juga dapat diakses sebagai anggota MachineKeySection kelas.
Contoh berikut dari file konfigurasi menunjukkan cara menentukan nilai secara deklaratif untuk bagian machineKey .
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
</system.web>
Contoh ini menggunakan SHA1. Karena masalah tabrakan dengan SHA1, Microsoft merekomendasikan SHA256.
Contoh berikut menunjukkan cara menggunakan MachineKeySection kelas dalam kode.
#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
Keterangan
Kelas MachineKeySection ini menyediakan cara untuk mengakses dan memodifikasi konten MachineKey
bagian secara terprogram dalam file konfigurasi. Bagian MachineKey
ini dapat dikonfigurasi pada tingkat mesin (Machine.config) atau aplikasi (Web.config) dan mengontrol kunci dan algoritma yang digunakan untuk autentikasi Formulir Windows, validasi status tampilan, dan isolasi aplikasi status sesi. Agar salah satu fitur ini berfungsi di seluruh jaringan server Web (farm Web), DecryptionKey
atribut dan ValidationKey
bagian MachineKey
harus dikonfigurasi secara eksplisit dan identik dengan nilai kunci yang valid. Nilai AutoGenerate
tidak berfungsi untuk farm Web, karena bergantung pada rahasia acak kriptografis, yang bertahan menggunakan perlindungan komputer-lokal dan tidak akan sama di lebih dari satu komputer.
Catatan Bagi Inheritor
Jika Anda menentukan kunci di bagian konfigurasi ini, seperti yang diperlukan dalam skenario Farm web, disarankan agar Anda mengenkripsi bagian ini dengan menggunakan konfigurasi yang dilindungi.
Konstruktor
MachineKeySection() |
Menginisialisasi instans MachineKeySection baru kelas dengan menggunakan pengaturan default. |
Properti
ApplicationName |
Atur atau tetapkan nama aplikasi. |
CompatibilityMode |
Mendapatkan atau menetapkan nilai yang menentukan apakah metode enkripsi yang ditingkatkan untuk status tampilan yang diperkenalkan setelah rilis .NET Framework versi 2.0 Paket Layanan 1 digunakan. |
CurrentConfiguration |
Mendapatkan referensi ke instans tingkat Configuration atas yang mewakili hierarki konfigurasi tempat instans saat ini ConfigurationElement berada. (Diperoleh dari ConfigurationElement) |
DataProtectorType |
Mendapatkan atau mengatur nama jenis pelindung data. Default adalah Empty. |
Decryption |
Menentukan algoritma enkripsi yang digunakan untuk mengenkripsi dan mendekripsi data autentikasi formulir. |
DecryptionKey |
Mendapatkan atau mengatur kunci yang digunakan untuk mengenkripsi dan mendekripsi data, atau proses pembuatan kunci. |
ElementInformation |
ElementInformation Mendapatkan objek yang berisi informasi dan fungsionalitas ConfigurationElement objek yang tidak dapat disesuaikan. (Diperoleh dari ConfigurationElement) |
ElementProperty |
ConfigurationElementProperty Mendapatkan objek yang mewakili objek itu ConfigurationElement sendiri. (Diperoleh dari ConfigurationElement) |
EvaluationContext |
ContextInformation Mendapatkan objek untuk ConfigurationElement objek . (Diperoleh dari ConfigurationElement) |
HasContext |
Mendapatkan nilai yang menunjukkan apakah CurrentConfiguration properti adalah |
Item[ConfigurationProperty] |
Mendapatkan atau mengatur properti atau atribut elemen konfigurasi ini. (Diperoleh dari ConfigurationElement) |
Item[String] |
Mendapatkan atau mengatur properti, atribut, atau elemen turunan dari elemen konfigurasi ini. (Diperoleh dari ConfigurationElement) |
LockAllAttributesExcept |
Mendapatkan koleksi atribut terkunci. (Diperoleh dari ConfigurationElement) |
LockAllElementsExcept |
Mendapatkan koleksi elemen terkunci. (Diperoleh dari ConfigurationElement) |
LockAttributes |
Mendapatkan koleksi atribut terkunci. (Diperoleh dari ConfigurationElement) |
LockElements |
Mendapatkan koleksi elemen terkunci. (Diperoleh dari ConfigurationElement) |
LockItem |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah elemen dikunci. (Diperoleh dari ConfigurationElement) |
Properties |
Mendapatkan koleksi properti. (Diperoleh dari ConfigurationElement) |
SectionInformation |
SectionInformation Mendapatkan objek yang berisi informasi dan fungsionalitas ConfigurationSection objek yang tidak dapat disesuaikan. (Diperoleh dari ConfigurationSection) |
Validation |
Menentukan algoritma hashing yang digunakan untuk memvalidasi autentikasi formulir dan melihat data status. |
ValidationAlgorithm |
Mendapatkan atau mengatur nama algoritma yang digunakan untuk memvalidasi autentikasi formulir dan melihat data status. |
ValidationKey |
Mendapatkan atau mengatur kunci yang digunakan untuk memvalidasi autentikasi formulir dan melihat data status, atau proses di mana kunci dihasilkan. |
Metode
DeserializeElement(XmlReader, Boolean) |
Membaca XML dari file konfigurasi. (Diperoleh dari ConfigurationElement) |
DeserializeSection(XmlReader) |
Membaca XML dari file konfigurasi. (Diperoleh dari ConfigurationSection) |
Equals(Object) |
Membandingkan instans saat ini ConfigurationElement dengan objek yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetHashCode() |
Mendapatkan nilai unik yang mewakili instans saat ini ConfigurationElement . (Diperoleh dari ConfigurationElement) |
GetRuntimeObject() |
Mengembalikan objek kustom saat ditimpa di kelas turunan. (Diperoleh dari ConfigurationSection) |
GetTransformedAssemblyString(String) |
Mengembalikan versi yang ditransformasi dari nama rakitan yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetTransformedTypeString(String) |
Mengembalikan versi yang ditransformasi dari nama jenis yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
Init() |
Mengatur objek ke ConfigurationElement status awalnya. (Diperoleh dari ConfigurationElement) |
InitializeDefault() |
Digunakan untuk menginisialisasi sekumpulan nilai default untuk ConfigurationElement objek. (Diperoleh dari ConfigurationElement) |
IsModified() |
Menunjukkan apakah elemen konfigurasi ini telah dimodifikasi sejak terakhir disimpan atau dimuat saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationSection) |
IsReadOnly() |
Mendapatkan nilai yang menunjukkan apakah ConfigurationElement objek bersifat baca-saja. (Diperoleh dari ConfigurationElement) |
ListErrors(IList) |
Menambahkan kesalahan properti yang tidak valid dalam objek ini ConfigurationElement , dan di semua subelemen, ke daftar yang diteruskan. (Diperoleh dari ConfigurationElement) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Mendapatkan nilai yang menunjukkan apakah atribut yang tidak diketahui ditemui selama deserialisasi. (Diperoleh dari ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Mendapatkan nilai yang menunjukkan apakah elemen yang tidak diketahui ditemui selama deserialisasi. (Diperoleh dari ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Memberikan pengecualian ketika properti yang diperlukan tidak ditemukan. (Diperoleh dari ConfigurationElement) |
PostDeserialize() |
Dipanggil setelah deserialisasi. (Diperoleh dari ConfigurationElement) |
PreSerialize(XmlWriter) |
Dipanggil sebelum serialisasi. (Diperoleh dari ConfigurationElement) |
Reset(ConfigurationElement) |
Mereset status ConfigurationElement internal objek, termasuk kunci dan koleksi properti. (Diperoleh dari ConfigurationElement) |
ResetModified() |
Mengatur ulang nilai metode ke IsModified() |
SerializeElement(XmlWriter, Boolean) |
Menulis konten elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Membuat string XML yang berisi tampilan ConfigurationSection objek yang tidak tergabung sebagai satu bagian untuk menulis ke file. (Diperoleh dari ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Menulis tag luar elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Mengatur properti ke nilai yang ditentukan. (Diperoleh dari ConfigurationElement) |
SetReadOnly() |
IsReadOnly() Mengatur properti untuk ConfigurationElement objek dan semua sublemen. (Diperoleh dari ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Menunjukkan apakah elemen yang ditentukan harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Menunjukkan apakah properti yang ditentukan harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
Menunjukkan apakah instans saat ini ConfigurationSection harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Memodifikasi ConfigurationElement objek untuk menghapus semua nilai yang tidak boleh disimpan. (Diperoleh dari ConfigurationElement) |