Bahasa

MachineKeySection Kelas

Definisi

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 ini MachineKeySection menyediakan cara untuk mengakses dan memodifikasi konten MachineKey bagian secara terprogram dalam file konfigurasi. Bagian MachineKey dapat dikonfigurasi di 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 Web-farm, disarankan agar Anda mengenkripsi bagian ini dengan menggunakan konfigurasi yang dilindungi.

Konstruktor

Nama Deskripsi
MachineKeySection()

Menginisialisasi instans MachineKeySection baru kelas dengan menggunakan pengaturan default.

Properti

Nama Deskripsi
ApplicationName

Mendapatkan atau menetapkan 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 Configuration tingkat atas yang mewakili hierarki konfigurasi tempat instans ConfigurationElement saat ini berada.

(Diperoleh dari ConfigurationElement)
DataProtectorType

Mendapatkan atau mengatur nama jenis pelindung data. Defaultnya 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

Mendapatkan objek ElementInformation yang berisi informasi dan fungsionalitas yang tidak dapat disesuaikan dari objek ConfigurationElement.

(Diperoleh dari ConfigurationElement)
ElementProperty

Mendapatkan objek ConfigurationElementProperty yang mewakili objek ConfigurationElement itu sendiri.

(Diperoleh dari ConfigurationElement)
EvaluationContext

Mendapatkan objek ContextInformation untuk objek ConfigurationElement.

(Diperoleh dari ConfigurationElement)
HasContext

Mendapatkan nilai yang menunjukkan apakah properti CurrentConfigurationnull.

(Diperoleh dari ConfigurationElement)
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

Mendapatkan objek SectionInformation yang berisi informasi dan fungsionalitas yang tidak dapat disesuaikan dari objek ConfigurationSection.

(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 dibuat.

Metode

Nama Deskripsi
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 ConfigurationElement saat ini dengan objek yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetHashCode()

Mendapatkan nilai unik yang mewakili instans ConfigurationElement saat ini.

(Diperoleh dari ConfigurationElement)
GetRuntimeObject()

Mengembalikan objek kustom saat ditimpa di kelas turunan.

(Diperoleh dari ConfigurationSection)
GetTransformedAssemblyString(String)

Mengembalikan versi yang diubah dari nama rakitan yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetTransformedTypeString(String)

Mengembalikan versi yang diubah dari nama jenis yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
Init()

Mengatur objek ConfigurationElement ke status awalnya.

(Diperoleh dari ConfigurationElement)
InitializeDefault()

Digunakan untuk menginisialisasi sekumpulan nilai default untuk objek ConfigurationElement.

(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 objek ConfigurationElement bersifat baca-saja.

(Diperoleh dari ConfigurationElement)
ListErrors(IList)

Menambahkan kesalahan properti yang tidak valid dalam objek ConfigurationElement ini, dan di semua subelemen, ke daftar yang diteruskan.

(Diperoleh dari ConfigurationElement)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(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)

Melempar 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 internal objek ConfigurationElement, termasuk kunci dan koleksi properti.

(Diperoleh dari ConfigurationElement)
ResetModified()

Mengatur ulang nilai metode IsModified() ke false saat diimplementasikan dalam kelas turunan.

(Diperoleh dari ConfigurationSection)
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 objek ConfigurationSection yang tidak digabungkan sebagai satu bagian untuk ditulis 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()

Mengatur properti IsReadOnly() untuk objek ConfigurationElement dan semua subelemen.

(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 ConfigurationSection saat ini 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 objek ConfigurationElement untuk menghapus semua nilai yang tidak boleh disimpan.

(Diperoleh dari ConfigurationElement)

Berlaku untuk

Lihat juga