MachineKeySection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| 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 |
| 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) |