Accueil     Commander     Clients     Téléchargements     Contacts     I-mode        Offre spéciale
   Hébergement ASP-PHP
      Pack PRO I
      Pack PRO II
      Pack PRO III
   Hébergement .NET
      Pack .NET I
      Pack .NET II
      Pack .NET III
   Revendeurs
      SEMI-DEDIE I
      SEMI-DEDIE II
      SERVEURS DEDIES
   Services
      NOM DE DOMAINE
      HTTPS & SSL
      E-COMMERCE
      SQL SERVEUR
      WEBMAIL
      REFERENCEMENT
   Les + Prosygma
      NOS TARIFS
      LE RESEAU
      ASSISTANCE
   Outils
      WHOIS
      FAQ
      Aide IIS
      Ressource KIT FP
      Composants ASP
     PARTENAIRES
     
     
     

Solutions hébergement
Support Dot NET.
  
  Source : Les laboratoires Microsoft

 

Sécurité et services Web


Cette section décrit les méthodes de sécurisation de vos services Web XML. Si vous n'avez pas encore lu la section Sécurité de ce didacticiel, faites-le avant de poursuivre cette rubrique.

Authentification et autorisation Windows

Pour sécuriser vos services Web XML à l'aide de l'authentification Windows, vous utilisez la même technique que pour les pages .aspx (voir la description à la section Authentification Windows). Pour exiger l'authentification, activez Authentification intégrée Windows pour votre application et désactivez Connexion anonyme dans la console de gestion de IIS. Pour autoriser ou refuser l'accès d'utilisateurs particuliers à votre service, utilisez le système de configuration ASP.NET ou définissez des ACL dans le fichier de service proprement dit, comme le montre l'exemple suivant :

Cette opération fonctionne correctement si vous êtes conscient que le client du service Web XML s'exécutera en tant qu'utilisateur Windows particulier. Il peut être intéressant d'examiner le cas d'un client s'exécutant en tant qu'utilisateur unique, mais agissant au nom d'un autre. Imaginons une page ASP.NET accédant à un service Web XML sécurisé qui n'emprunte pas l'identité du client qui y accède. Dans un tel cas, vous devez définir par programme le nom d'utilisateur et le mot de passe avant de vous connecter au service Web. L'exemple suivant utilise l'authentification de base et illustre un WebService simple :


<%@ WebService language="VB" 
Class="SecureService" %> Imports System.Web.Services Imports System Class SecureService : Inherits WebService <WebMethod()> Public
Function SecureTest As String Return "Hello from the
secure web service" End End Class
C# VB JScript  

Vous pouvez activer l'authentification de base pour ce service en définissant les paramètres appropriés dans IIS de la manière suivante :

  1. Ouvrez la console MMC IIS.

    Start->Run "inetmgr"
    
  2. Dans le volet gauche, développez l'arborescence pour rechercher votre répertoire virtuel.
  3. Dans le volet droit, cliquez avec le bouton droit sur Secureservice.asmx et choisissez Propriétés.
  4. Sélectionnez l'onglet Sécurité de fichier. Sous Connexions anonymes et contrôle d'authentification, cliquez sur Modifier.

    • Désactivez l'accès anonyme.
    • Désactivez l'authentification intégrée Windows.
    • Activez l'authentification de base.

  5. Cliquez sur OK pour enregistrer ces paramètres et quittez la console MMC.
La classe proxy WebService de base propose deux propriétés, Username et Password, que vous pouvez utiliser pour spécifier les informations d'authentification avec lesquelles vous souhaitez vous connecter au service Web distant. Ces dernières doivent être définies comme informations d'authentification Windows valides sur l'ordinateur ou le domaine du service Web.


<%@ Import Namespace="SecureService" %>

<html>
<script language="VB" runat="server">

    Public Sub Page_Load(sender
As Object, e As EventArgs) Dim s As New SecureService s.Credentials = New System.Net.
NetworkCredential
("Administrator", "test123") Message.Text = s.SecureTest() End Sub </script> <body> <h4><font face="verdana"> <asp:Label id="Message" runat="server"/> </font></h4> </body> </html>
C# VB JScript  

La classe WebService de base fournit une propriété User de type System.Security.Principal.IPrincipal, que vous pouvez utiliser pour extraire des informations à propos de l'utilisateur client. À nouveau, vous pouvez autoriser l'accès à votre service Web à l'aide de la section Authorization du système de configuration ASP.NET.

Authentification et autorisation personnalisées avec en-têtes Soap

L'authentification Windows est utile dans les scénarios intranet, dans lesquels vous authentifiez un utilisateur de votre propre domaine. Sur Internet, cependant, vous souhaiterez probablement personnaliser l'authentification et l'autorisation, éventuellement par rapport à une base de données SQL. Dans ce cas, passez des informations d'authentification personnalisées (telles que le nom d'utilisateur et le mot de passe) à votre service et laissez-le traiter lui-même l'authentification et l'autorisation.

Un en-tête SOAP offre un moyen pratique de passer des informations supplémentaires avec une demande à un service Web XML. Dans ce but, définissez une classe qui dérive de SOAPHeader dans votre service, puis déclarez un champ public de votre service comme possédant ce type. Cela est exposé dans le contrat public de votre service et mis à la disposition du client lorsque le proxy est créé à partir du fichier WebServiceUtil.exe, de la manière illustrée dans l'exemple suivant :


Imports System.Web.Services
Imports System.Web.Services.Protocols

' AuthHeader class extends from SoapHeader
Public Class AuthHeader : Inherits SoapHeader
    Public Username As String
    Public Password As String
End Class

Public Class HeaderService : 
Inherits WebService Public sHeader As AuthHeader ... End Class
C# VB JScript  

Chaque WebMethod de votre service peut définir un ensemble d'en-têtes associés à l'aide de l'attribut personnalisé SoapHeader. Par défaut, l'en-tête est nécessaire, mais il est possible de définir également des en-têtes faciltatifs. L'attribut SoapHeader spécifie le nom d'un champ public ou d'une propriété de la classe Client ou Server (appelée propriété Headers dans cette rubrique). WebServices définit la valeur d'une propriété Headers avant que la méthode soit appelée pour les en-têtes d'entrée et récupère la valeur lorsque la méthode est retournée pour les en-têtes de sortie. Pour plus d'informations sur les en-têtes de sortie ou facultatifs, consultez la documentation du Kit de développement .NET Framework SDK.




<WebMethod(), SoapHeader("sHeader")> 
Public Function SecureMethod() As String If (sHeader Is Nothing) Return "ERROR: Please supply credentials" Else Return "USER: " & sHeader.Username End If End Function
C# VB JScript  

Un client définit ensuite l'en-tête sur la classe proxy juste avant le lancement d'un appel de méthode pour lequel il est nécessaire, comme le montre l'exemple suivant :


Dim h As New HeaderService
Dim myHeader As New AuthHeader
myHeader.Username = "JohnDoe"
myHeader.Password = "password"
h.AuthHeader = myHeader
Dim result As String = h.SecureMethod()
C# VB JScript  

Pour voir ce code en action, exécutez l'exemple suivant :

 
VB SoapHeaders.aspx

Résumé de la section

  1. La sécurisation de vos services Web XML sur le serveur à l'aide de l'authentification Windows respecte exactement le même modèle que celui décrit pour la page .aspx.
  2. Vous pouvez également définir par programme les informations d'authentification Windows à l'aide des propriétés Username et Password de la classe proxy WebService.
  3. Enfin, vous pouvez effectuer une authentification personnalisée en passant des informations d'authentification sur les autorisations en tant que SOAPHeaders, ainsi qu'une demande SOAP pour la méthode qui l'exige.



Nos serveurs sont désormais des serveurs
Pentium 3 Ghz, 1 Go Ram

 La formule de base est à 10 Euros TTC / mois
Si vous avez des besoins plus spécifiques (composants, espace disque...), nous sommes la pour répondre à vos questions.
Rappel : les frais d'installation sont gratuits


Prosygma élu meilleur site.
 
Trois nouveaux composants ASP sont désormais en place sur toutes nos formules.Il s'agit de ASPIMAGE, ASPPOP3 et ASPMAIL.


La dernière version de Microsoft® .NET Framework contient tout ce qu'il vous faut pour faire fonctionner des applications .NET Framework est disponible sur nos serveurs

Cliquez içi pour commander votre hébergement .Net

Votre nom de domaine en .com, .net ou .org au prix unique : 20 Euros

  Vérifiez la disponibilité d'un nom de domaine