MachineKeySection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les paramètres de configuration qui contrôlent la génération de clés et les algorithmes utilisés dans le chiffrement, le déchiffrement et les opérations MAC (Message Authentication Code) dans l’authentification Windows Forms, la validation d’état d’affichage et l’isolation d’application des états de session. Cette classe ne peut pas être héritée.
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
- Héritage
Exemples
L’exemple de cette section montre comment spécifier des valeurs de manière déclarative pour plusieurs attributs de la section machineKey , qui sont également accessibles en tant que membres de la MachineKeySection classe .
L’exemple suivant à partir d’un fichier de configuration montre comment spécifier des valeurs de manière déclarative pour la section machineKey .
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
</system.web>
Cet exemple utilise SHA1. En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256.
L’exemple suivant montre comment utiliser la classe dans le MachineKeySection code.
#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
Remarques
La MachineKeySection classe fournit un moyen d’accéder et de modifier par programme le contenu de la MachineKey
section dans le fichier de configuration. La MachineKey
section peut être configurée au niveau de l’ordinateur (Machine.config) ou de l’application (Web.config) et contrôle les clés et les algorithmes utilisés pour l’authentification Windows Forms, la validation de l’état d’affichage et l’isolation de l’application d’état de session. Pour que l’une de ces fonctionnalités fonctionne sur un réseau de serveurs Web (une batterie de serveurs Web), les DecryptionKey
attributs et ValidationKey
de la MachineKey
section doivent être configurés explicitement et de manière identique avec des valeurs de clé valides. La AutoGenerate
valeur ne fonctionne pas pour les batteries de serveurs Web, car elle s’appuie sur un secret aléatoire de chiffrement, qui est conservé à l’aide de la protection locale de l’ordinateur et ne sera pas le même sur plusieurs ordinateurs.
Notes pour les héritiers
Si vous souhaitez spécifier des clés dans cette section de configuration, comme cela est nécessaire dans les scénarios de batterie de serveurs web, il est recommandé de chiffrer cette section à l’aide de la configuration protégée.
Constructeurs
MachineKeySection() |
Initialise une nouvelle instance de la classe MachineKeySection en utilisant les paramètres par défaut. |
Propriétés
ApplicationName |
Obtient ou définit le nom de l'application. |
CompatibilityMode |
Obtient ou définit une valeur qui indique si les méthodes de chiffrement mises à niveau pour l’état d’affichage introduites après la mise en production du Service Pack 1 de .NET Framework version 2.0 sont utilisées. |
CurrentConfiguration |
Obtient une référence à l'instance Configuration de niveau supérieur qui représente la hiérarchie de configuration à laquelle l'instance ConfigurationElement actuelle appartient. (Hérité de ConfigurationElement) |
DataProtectorType |
Obtient ou définit le nom du type de protecteur de données. La valeur par défaut est Empty. |
Decryption |
Spécifie l'algorithme de chiffrement utilisé pour chiffrer et déchiffrer les données d'authentification par formulaire. |
DecryptionKey |
Obtient ou définit la clé utilisée pour chiffrer et déchiffrer les données, ou le processus par lequel la clé est générée. |
ElementInformation |
Obtient un objet ElementInformation qui contient les fonctionnalités et informations non personnalisables de l'objet ConfigurationElement. (Hérité de ConfigurationElement) |
ElementProperty |
Obtient l'objet ConfigurationElementProperty qui représente l'objet ConfigurationElement lui-même. (Hérité de ConfigurationElement) |
EvaluationContext |
Obtient l'objet ContextInformation pour l'objet ConfigurationElement. (Hérité de ConfigurationElement) |
HasContext |
Obtient une valeur qui indique si la propriété CurrentConfiguration a la valeur |
Item[ConfigurationProperty] |
Obtient ou définit une propriété ou un attribut de cet élément de configuration. (Hérité de ConfigurationElement) |
Item[String] |
Obtient ou définit une propriété, un attribut ou un élément enfant de cet élément de configuration. (Hérité de ConfigurationElement) |
LockAllAttributesExcept |
Obtient la collection d'attributs verrouillés. (Hérité de ConfigurationElement) |
LockAllElementsExcept |
Obtient la collection d'éléments verrouillés. (Hérité de ConfigurationElement) |
LockAttributes |
Obtient la collection d'attributs verrouillés. (Hérité de ConfigurationElement) |
LockElements |
Obtient la collection d'éléments verrouillés. (Hérité de ConfigurationElement) |
LockItem |
Obtient ou définit une valeur indiquant si l'élément est verrouillé. (Hérité de ConfigurationElement) |
Properties |
Obtient la collection de propriétés. (Hérité de ConfigurationElement) |
SectionInformation |
Obtient un objet SectionInformation qui contient les fonctionnalités et informations non personnalisables de l'objet ConfigurationSection. (Hérité de ConfigurationSection) |
Validation |
Spécifie l'algorithme de hachage utilisé pour la validation de l'authentification par formulaire et des données d'état d'affichage. |
ValidationAlgorithm |
Obtient ou définit le nom d’un algorithme utilisé pour valider l’authentification par formulaires et voir les données d’état. |
ValidationKey |
Obtient ou définit la clé utilisée pour valider l'authentification par formulaire et les données d'état d'affichage, ou le processus par lequel la clé est générée. |
Méthodes
DeserializeElement(XmlReader, Boolean) |
Lit du XML à partir du fichier de configuration. (Hérité de ConfigurationElement) |
DeserializeSection(XmlReader) |
Lit du XML à partir du fichier de configuration. (Hérité de ConfigurationSection) |
Equals(Object) |
Compare l’instance de ConfigurationElement actuelle à l’objet spécifié. (Hérité de ConfigurationElement) |
GetHashCode() |
Obtient une valeur unique représentant l'instance actuelle de ConfigurationElement. (Hérité de ConfigurationElement) |
GetRuntimeObject() |
Retourne un objet personnalisé en cas de substitution dans une classe dérivée. (Hérité de ConfigurationSection) |
GetTransformedAssemblyString(String) |
Retourne la version transformée du nom de l'assembly spécifié. (Hérité de ConfigurationElement) |
GetTransformedTypeString(String) |
Retourne la version transformée du nom de type spécifié. (Hérité de ConfigurationElement) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
Init() |
Rétablit l’état initial de l’objet ConfigurationElement. (Hérité de ConfigurationElement) |
InitializeDefault() |
Utilisé pour initialiser un jeu de valeurs par défaut pour l'objet ConfigurationElement. (Hérité de ConfigurationElement) |
IsModified() |
Indique si cet élément de configuration a été modifié depuis son dernier enregistrement ou chargement lorsqu'il est implémenté dans une classe dérivée. (Hérité de ConfigurationSection) |
IsReadOnly() |
Obtient une valeur indiquant si l’objet ConfigurationElement est en lecture seule. (Hérité de ConfigurationElement) |
ListErrors(IList) |
Ajoute les erreurs de propriété non valide dans cet objet ConfigurationElement et dans tous les sous-éléments à la liste passée. (Hérité de ConfigurationElement) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Obtient une valeur indiquant si un attribut inconnu est rencontré pendant la désérialisation. (Hérité de ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Obtient une valeur indiquant si un élément inconnu est rencontré pendant la désérialisation. (Hérité de ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Lève une exception lorsqu'une propriété requise est introuvable. (Hérité de ConfigurationElement) |
PostDeserialize() |
Appelé après la désérialisation. (Hérité de ConfigurationElement) |
PreSerialize(XmlWriter) |
Appelé avant la sérialisation. (Hérité de ConfigurationElement) |
Reset(ConfigurationElement) |
Rétablit l'état interne de l'objet ConfigurationElement, y compris les verrouillages et les collections de propriétés. (Hérité de ConfigurationElement) |
ResetModified() |
Réinitialise la valeur de la méthode IsModified() à |
SerializeElement(XmlWriter, Boolean) |
Écrit le contenu de cet élément de configuration dans le fichier de configuration lorsqu'il est implémenté dans une classe dérivée. (Hérité de ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Crée une chaîne XML contenant un affichage non fusionné de l'objet ConfigurationSection sous la forme d'une section unique à écrire dans un fichier. (Hérité de ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Écrit les balises extérieures de cet élément de configuration dans le fichier de configuration lorsqu'il est implémenté dans une classe dérivée. (Hérité de ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Affecte la valeur spécifiée à une propriété. (Hérité de ConfigurationElement) |
SetReadOnly() |
Définit la propriété IsReadOnly() pour l'objet ConfigurationElement et tous les sous-éléments. (Hérité de ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Indique si l’élément spécifié doit être sérialisé lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework. (Hérité de ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Indique si la propriété spécifiée doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework. (Hérité de ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
Indique si l’instance actuelle ConfigurationSection doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework. (Hérité de ConfigurationSection) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Modifie l'objet ConfigurationElement pour supprimer toutes les valeurs qui ne doivent pas être enregistrées. (Hérité de ConfigurationElement) |