Exporter (0) Imprimer
Développer tout
Développer Réduire

BasicHttpMessageCredentialType, énumération

Mise à jour : novembre 2007

Énumère les types d'informations d'identification avec lequel le client peut s'authentifier lorsque la sécurité est activée dans la liaison BasicHttpBinding.

Espace de noms :  System.ServiceModel
Assembly :  System.ServiceModel (dans System.ServiceModel.dll)

public enum BasicHttpMessageCredentialType
public enum BasicHttpMessageCredentialType
public enum BasicHttpMessageCredentialType

Nom de membreDescription
UserNameIndique que le client doit être authentifié à l'aide des informations d'identification d'un nom d'utilisateur.
CertificateIndique qu'un client doit être authentifié à l'aide d'un certificat.

Si Mode est configuré pour exécuter l'authentification du client au niveau du message, cette énumération contrôle le type d'informations d'identification du client. Le nom d'utilisateur et le certificat X.509 à utiliser doivent tous deux être configurer via une instance IEndpointBehavior qui implémente le point d'extensibilité SecurityCredentialsManager ; dans un cas par défaut courant, il s'agit des ClientCredentials.

Dans le cas du certificat, les informations d'identification du client doivent être spécifiées à l'aide de la propriété ClientCertificate de la classe ClientCredentials.

Dans le cas du nom d'utilisateur, les informations d'identification du client doivent être spécifiées à l'aide de la propriété UserName de la classe ClientCredentials.

De plus, lorsque le mode de sécurité du message est utilisé, le client doit être configuré avec le certificat du service. Dans ce cas, les informations d'identification du service doivent être spécifiées à l'aide de la propriété ServiceCertificate sur la classe ClientCredentials.

Les extraits de code de fichier de configuration suivants illustrent comment spécifier BasicHttpMessageCredentialType:

<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <!-- use base address provided by host -->
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="Binding1" 
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />
        <endpoint contract="IMetadataExchange"
                  binding="mexHttpBinding"
                  address="mex" />
      </service>
    </services>

    <bindings>
      <basicHttpBinding>
        <binding name="Binding1" >
          <security mode = "Message">
            <message clientCredentialType="Certificate"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>

    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceDebug includeExceptionDetailInFaults="false" />
          <serviceMetadata httpGetEnabled="true" />
          <serviceCredentials>
            <serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
            <clientCertificate>
              <authentication certificateValidationMode="PeerOrChainTrust" />
            </clientCertificate>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>
</configuration>


Les sections importantes sont les suivantes :

La section des liaisons, où nous spécifions le mode de sécurité (Message) et le type d'informations d'identification qui sera utilisée pour authentifier le client :

<bindings>
  <basicHttpBinding>
    <binding name="Binding1" >
      <security mode = "Message">
        <message clientCredentialType="Certificate"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>


La section des comportements, où nous spécifions le certificat à utiliser pour l'authentification du service et la méthode de validation du certificat client :

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceMetadata httpGetEnabled="true" />
      <serviceCredentials>
        <serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
        <clientCertificate>
          <authentication certificateValidationMode="PeerOrChainTrust" />
        </clientCertificate>
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
</behaviors>


Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft