MachineKeySection Klas

Definitie

Definieert de configuratie-instellingen waarmee de sleutelgeneratie en algoritmen worden bepaald die worden gebruikt in bewerkingen voor versleuteling, ontsleuteling en berichtverificatiecode in Windows Forms verificatie, validatie van weergavestatus en isolatie van sessiestatustoepassingen. Deze klasse kan niet worden overgenomen.

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
Overname

Voorbeelden

In het voorbeeld in deze sectie ziet u hoe u waarden declaratief opgeeft voor verschillende kenmerken van de sectie machineKey , die ook kan worden geopend als leden van de MachineKeySection klasse.

In het volgende voorbeeld van een configuratiebestand ziet u hoe u waarden declaratief opgeeft voor de sectie MachineKey .

<system.web>
  <machineKey validationKey="AutoGenerate,IsolateApps"
    decryptionKey="AutoGenerate,IsolateApps"
    validation="SHA1"/>
</system.web>

In dit voorbeeld wordt SHA1 gebruikt. Vanwege conflictproblemen met SHA1 raadt Microsoft SHA256 aan.

In het volgende voorbeeld ziet u hoe u de MachineKeySection klasse in code gebruikt.

#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

Opmerkingen

De MachineKeySection klasse biedt een manier om programmatisch toegang te krijgen tot en de inhoud van de MachineKey sectie in het configuratiebestand te wijzigen. De sectie MachineKey kan worden geconfigureerd op de computer (Machine.config) of toepassingsniveau (Web.config) en bepaalt de sleutels en algoritmen die worden gebruikt voor Windows Forms verificatie, validatie van weergavestatus en isolatie van sessiestatustoepassingen. Als een van deze functies in een netwerk van webservers (een webfarm) werkt, moeten de DecryptionKey en ValidationKey kenmerken van de MachineKey sectie expliciet en identiek met geldige sleutelwaarden worden geconfigureerd. De AutoGenerate waarde werkt niet voor webfarms, omdat deze afhankelijk is van een cryptografisch willekeurig geheim, dat wordt behouden met behulp van computer-lokale beveiliging en niet hetzelfde is op meer dan één computer.

Notities voor overnemers

Als u sleutels in deze configuratiesectie opgeeft, zoals vereist is in webfarmscenario's, wordt u aangeraden deze sectie te versleutelen met behulp van beveiligde configuratie.

Constructors

Name Description
MachineKeySection()

Initialiseert een nieuw exemplaar van de MachineKeySection klasse met behulp van standaardinstellingen.

Eigenschappen

Name Description
ApplicationName

Hiermee haalt u de naam van de toepassing op of stelt u deze in.

CompatibilityMode

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of bijgewerkte versleutelingsmethoden voor weergavestatus die zijn geïntroduceerd na de release van .NET Framework versie 2.0 Service Pack 1 worden gebruikt.

CurrentConfiguration

Hiermee wordt een verwijzing opgehaald naar het exemplaar op het hoogste niveau Configuration dat de configuratiehiërarchie vertegenwoordigt waartoe het huidige ConfigurationElement exemplaar behoort.

(Overgenomen van ConfigurationElement)
DataProtectorType

Hiermee wordt de naam van het gegevensbeveiligingstype opgehaald of ingesteld. De standaardwaarde is Empty.

Decryption

Hiermee geeft u het versleutelingsalgoritmen op dat wordt gebruikt voor het versleutelen en ontsleutelen van formulierverificatiegegevens.

DecryptionKey

Hiermee haalt u de sleutel op die wordt gebruikt voor het versleutelen en ontsleutelen van gegevens, of het proces waarmee de sleutel wordt gegenereerd.

ElementInformation

Hiermee haalt u een ElementInformation object op dat de niet-aanpasbare informatie en functionaliteit van het ConfigurationElement object bevat.

(Overgenomen van ConfigurationElement)
ElementProperty

Hiermee haalt u het ConfigurationElementProperty object op dat het ConfigurationElement object zelf vertegenwoordigt.

(Overgenomen van ConfigurationElement)
EvaluationContext

Hiermee haalt u het ContextInformation object voor het ConfigurationElement object op.

(Overgenomen van ConfigurationElement)
HasContext

Hiermee wordt een waarde opgehaald die aangeeft of de CurrentConfiguration eigenschap is null.

(Overgenomen van ConfigurationElement)
Item[ConfigurationProperty]

Hiermee wordt een eigenschap of kenmerk van dit configuratie-element opgehaald of ingesteld.

(Overgenomen van ConfigurationElement)
Item[String]

Hiermee wordt een eigenschap, kenmerk of onderliggend element van dit configuratie-element opgehaald of ingesteld.

(Overgenomen van ConfigurationElement)
LockAllAttributesExcept

Hiermee haalt u de verzameling vergrendelde kenmerken op.

(Overgenomen van ConfigurationElement)
LockAllElementsExcept

Hiermee haalt u de verzameling vergrendelde elementen op.

(Overgenomen van ConfigurationElement)
LockAttributes

Hiermee haalt u de verzameling vergrendelde kenmerken op.

(Overgenomen van ConfigurationElement)
LockElements

Hiermee haalt u de verzameling vergrendelde elementen op.

(Overgenomen van ConfigurationElement)
LockItem

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het element is vergrendeld.

(Overgenomen van ConfigurationElement)
Properties

Hiermee haalt u de verzameling eigenschappen op.

(Overgenomen van ConfigurationElement)
SectionInformation

Hiermee haalt u een SectionInformation object op dat de niet-aanpasbare informatie en functionaliteit van het ConfigurationSection object bevat.

(Overgenomen van ConfigurationSection)
Validation

Hiermee geeft u het hash-algoritme op dat wordt gebruikt voor het valideren van formulierverificatie en het weergeven van statusgegevens.

ValidationAlgorithm

Hiermee haalt u de naam op van het algoritme dat wordt gebruikt om formulierverificatie te valideren en statusgegevens weer te geven.

ValidationKey

Hiermee haalt u de sleutel op die wordt gebruikt voor het valideren van formulierverificatie en het weergeven van statusgegevens, of het proces waarmee de sleutel wordt gegenereerd.

Methoden

Name Description
DeserializeElement(XmlReader, Boolean)

Leest XML uit het configuratiebestand.

(Overgenomen van ConfigurationElement)
DeserializeSection(XmlReader)

Leest XML uit het configuratiebestand.

(Overgenomen van ConfigurationSection)
Equals(Object)

Vergelijkt het huidige ConfigurationElement exemplaar met het opgegeven object.

(Overgenomen van ConfigurationElement)
GetHashCode()

Hiermee haalt u een unieke waarde op die het huidige ConfigurationElement exemplaar vertegenwoordigt.

(Overgenomen van ConfigurationElement)
GetRuntimeObject()

Retourneert een aangepast object wanneer dit wordt overschreven in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
GetTransformedAssemblyString(String)

Retourneert de getransformeerde versie van de opgegeven assemblynaam.

(Overgenomen van ConfigurationElement)
GetTransformedTypeString(String)

Retourneert de getransformeerde versie van de opgegeven typenaam.

(Overgenomen van ConfigurationElement)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Init()

Hiermee stelt u het object in op de ConfigurationElement oorspronkelijke status.

(Overgenomen van ConfigurationElement)
InitializeDefault()

Wordt gebruikt om een standaardset waarden voor het ConfigurationElement object te initialiseren.

(Overgenomen van ConfigurationElement)
IsModified()

Geeft aan of dit configuratie-element is gewijzigd sinds het voor het laatst is opgeslagen of geladen wanneer dit is geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
IsReadOnly()

Hiermee wordt een waarde opgehaald die aangeeft of het ConfigurationElement object het kenmerk Alleen-lezen heeft.

(Overgenomen van ConfigurationElement)
ListErrors(IList)

Voegt de fouten met ongeldige eigenschappen in dit ConfigurationElement object en in alle subelementen toe aan de doorgegeven lijst.

(Overgenomen van ConfigurationElement)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnDeserializeUnrecognizedAttribute(String, String)

Hiermee wordt een waarde opgehaald die aangeeft of er een onbekend kenmerk wordt aangetroffen tijdens deserialisatie.

(Overgenomen van ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Hiermee wordt een waarde opgehaald die aangeeft of er een onbekend element wordt aangetroffen tijdens deserialisatie.

(Overgenomen van ConfigurationElement)
OnRequiredPropertyNotFound(String)

Genereert een uitzondering wanneer een vereiste eigenschap niet wordt gevonden.

(Overgenomen van ConfigurationElement)
PostDeserialize()

Gebeld na ontserialisatie.

(Overgenomen van ConfigurationElement)
PreSerialize(XmlWriter)

Aangeroepen vóór serialisatie.

(Overgenomen van ConfigurationElement)
Reset(ConfigurationElement)

Hiermee stelt u de interne status van het ConfigurationElement object opnieuw in, inclusief de vergrendelingen en de eigenschappenverzamelingen.

(Overgenomen van ConfigurationElement)
ResetModified()

Hiermee stelt u de waarde van de methode IsModified() opnieuw in wanneer deze false wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationSection)
SerializeElement(XmlWriter, Boolean)

Schrijft de inhoud van dit configuratie-element naar het configuratiebestand wanneer deze wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationElement)
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Hiermee maakt u een XML-tekenreeks met een niet-gekoppelde weergave van het ConfigurationSection object als één sectie om naar een bestand te schrijven.

(Overgenomen van ConfigurationSection)
SerializeToXmlElement(XmlWriter, String)

Hiermee schrijft u de buitenste tags van dit configuratie-element naar het configuratiebestand wanneer het wordt geïmplementeerd in een afgeleide klasse.

(Overgenomen van ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Hiermee stelt u een eigenschap in op de opgegeven waarde.

(Overgenomen van ConfigurationElement)
SetReadOnly()

Hiermee stelt u de IsReadOnly() eigenschap voor het ConfigurationElement object en alle subelementen in.

(Overgenomen van ConfigurationElement)
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Geeft aan of het opgegeven element moet worden geserialiseerd wanneer de hiërarchie van het configuratieobject wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Geeft aan of de opgegeven eigenschap moet worden geserialiseerd wanneer de configuratieobjecthiërarchie wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ShouldSerializeSectionInTargetVersion(FrameworkName)

Hiermee wordt aangegeven of de huidige ConfigurationSection-instantie moet worden geserialiseerd wanneer de hiërarchie van het configuratieobject wordt geserialiseerd voor de opgegeven doelversie van het .NET Framework.

(Overgenomen van ConfigurationSection)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Hiermee wijzigt u het ConfigurationElement object om alle waarden te verwijderen die niet mogen worden opgeslagen.

(Overgenomen van ConfigurationElement)

Van toepassing op

Zie ook