Web services authentifiés (ws)

De Wiki1000
(Différences entre les versions)
Ligne 5 : Ligne 5 :
 
==Déclarer qu'un service requiert une authentification==
 
==Déclarer qu'un service requiert une authentification==
  
 +
* Pour un paquet de service local
 +
 +
[[Image:authentifier_requete_as_webservice]]
 +
 +
* Pour une requête publiée comme service
 +
 +
[[Image:authentifier_un_paquet_de_service.jpg]]
  
  
Ligne 14 : Ligne 21 :
 
:La navigation vers l'url suivante permet à l'utilisateur de saisir ses informations d'authentification dans une fenetre (+ positionnement contexte société le cas échéant).
 
:La navigation vers l'url suivante permet à l'utilisateur de saisir ses informations d'authentification dans une fenetre (+ positionnement contexte société le cas échéant).
  
  http://<hote>/<nom_du_service>/server/connect.l1000?cburl=about:blank&SID=NO_SID
+
  http://hostname/servicename>/server/connect.l1000?cburl=about:blank&SID=NO_SID
  
 
:'''cburl''' représente une url vers la quelle le serveur vous redirige à l'issue d'une authentification réeussie.
 
:'''cburl''' représente une url vers la quelle le serveur vous redirige à l'issue d'une authentification réeussie.
Ligne 27 : Ligne 34 :
  
 
:(Pour un service non interactif)
 
:(Pour un service non interactif)
 +
 +
:[[Services_REST_(server)]]
  
  
Ligne 33 : Ligne 42 :
 
:Ce service est accessible à l'adresse suivante :  
 
:Ce service est accessible à l'adresse suivante :  
  
  http://<hote>/<nom_du_service>/server/soap.l1000?wsdl=Sage1000Authentication
+
  http://hostname/servicename/server/soap.l1000?wsdl=Sage1000Authentication
  
  

Version du 17 décembre 2009 à 18:15

L'exécution d'une requête Web service nécessite une session pour fournir le contexte d'exécution, par défaut le serveur crée une session anonyme attachée au contexte de l'utilisateur du serveur. Tel quelle l'exécution des requêtes Web Services ne sont pas authentifiés.

Différentes solutions sont possibles pour authentifier un Web Service, dans tous les cas il faut fournir au serveur un identifiant de session correspondant à un contexte utilisateur.

Déclarer qu'un service requiert une authentification

  • Pour un paquet de service local

Fichier:Authentifier requete as webservice

  • Pour une requête publiée comme service

Authentifier un paquet de service.jpg


Obtenir un identifiant de session

  • Appel de l'écran de connexion du serveur
(Pour un service interactif)
La navigation vers l'url suivante permet à l'utilisateur de saisir ses informations d'authentification dans une fenetre (+ positionnement contexte société le cas échéant).
http://hostname/servicename>/server/connect.l1000?cburl=about:blank&SID=NO_SID
cburl représente une url vers la quelle le serveur vous redirige à l'issue d'une authentification réeussie.
Lors de cette redirection, le serveur positionne l'identifiant de session comme paramètre de l'url.
Avec l'appel précédent, l'url vers laquelle on est redirigé est "about:blank?SID=XXXXXX-123456789"
Il est possible également de récupérer en retour l'identifiant de session positionné par le serveur dans un cookie de la réponse.
  • Appel du service REST de gestion des sessions
(Pour un service non interactif)
Services_REST_(server)


  • Invoquer la méthode du service web d'authentification
Ce service est accessible à l'adresse suivante :
http://hostname/servicename/server/soap.l1000?wsdl=Sage1000Authentication


Passer un identifiant de session

  • Par un cookie http positionné dans l’entête http de la requête.
Cette approche à l’avantage de ne pas nécessiter de modification du service métier.
  • En affectant sessionId dans l'en tête soap du message
Cette approche est aisée avec les outils qui consomment les webservices
  • Par un paramètre passé dans chaque appel de service.
Cette approche nécessite que le code métier change le contexte de session avant d’exécuter le service.


Web Services (ws)Développement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels