IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

Single Sign On avec SOAP


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut Single Sign On avec SOAP
    Bonjour,

    Je dois trouver une solution pour concevoir un portail de Single Sign On.

    Je suis malheureusement partit vers une mauvaise solution.

    Le problème majeur de ce portail est qu'il devra accueillir des webServices ou donner accès à des sites webs, externes et à venir, de techno différentes.

    J'ai pensé à SOAP afin de faire des échanges entre le portails et les sites distants et les services web.

    J'aurais aimé savoir si il existe un mécanisme d'identification connu via SOAP, qui pourrait amener à un Single Sign On (j'ai beau rechercher... ).

    Dois-je ajouter une autre techno ?

    Merci d'avance à ceux qui pourraient apporter leur aide à un pauvre stagiaire.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    le logiciel LemonLDAP::NG (http://lemonldap-ng.org) est un logiciel libre permettant de faire du WebSSO classique. Il possède également une interface SOAP permettant d'ouvrir une session SSO.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Salut coudot, et merci pour ta réponse.

    J'ai lu la documentation de Lemon ldap, et si j'ai bien compris, l'application tierce a juste besoin de lire l'entête HTTP (via les variables globales) pour s'assurrer que le cookie de session contient bien l'identifiant de l'utilisateur ?

    Il n'est donc aucunement besoin de forcer l'installation d'un client ?

    Merci.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    D'éventuels prestataires externes, afin de développer des applications compatibles avec le WebSSO de LemonLDAP::NG, doivent-ils répondre à certaines contraintes techniques ?

    Le fait de prendre l'option d'un Reverse Proxy peut-il faciliter les rapports avec les applications "externes" ?

    J'ai aussi parcouru la documentation ayant trait au modèle RBAC (ce qui m'a agréablement surpris) et j'aurais souhaité savoir sur quel support fonctionnent les commandes présentées dans la documentation (commandes systèmes ?, perl ?) et si il y a moyen de conditionner leur execution en fonction d'une base de données utilisateurs "maison".

    Le truc, c'est que j'étais déjà en train d'orienter mon analyse conceptuelle autour d'une gestion de droits liées au profils des utilisateurs et à certains contextes, car j'en ressentait le besoin au niveau de la future administration du portail que je souhaite conceptualiser... avant de m'apercevoir que cela existait déjà sous le nom de RBAC...

    Une base de données "maison" est-elle enviseagable (base de données qui lancerai les commandes RBAC via des méthodes et un DAO, en Php, par exemple).

    Encore merci... KPTN.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    J'ai creusé un peu plus la solution LemonLDAP::NG et j'aurais trouvé une solution.

    L'idée serait de créer des pages de connexions faisant appel au handlers de LL::NG.

    Pour détailler :

    Je dois faire une connexions à des sites divers, ayant chacun une méthode de single sign on.

    Je crée une page (index.php) que j'abrite sous /var/nomdusite/

    Je protège cette page via le handler de LL::NG

    Cette page réccupère, dans le header http, les paramètres nécessaire pour alimenter les méthodes d'authentification des sites distants.

    Une fois l'authentification effectuée, la page fait une redirection http vers le site.

    Exemple :

    Je me connecte à un virtual host paramétré dans LL::NG, après m'être authentifié au portail.

    Ce virtual host pointe sur une page php instanciant un client SOAP et faisant appel à une méthode SOAP d'authentification du site distant, en passant en paramètre de la méthode, l'uid de la variable globale $_SERVER{HTTP_AUTH_USER}

    Une fois l'authentification effectuées (handler+soap), je fais une redirection vers le site distant.

    (aussi dans l'objectif de ne pas avoir à configurer plusieurs domaines : la gestion Handler/Portail reste dans mon domaine et passe ensuite le relais aux méthodes d'authentification des sites distants).

    L'idée me semble bonne, mais j'ai un gros soucis de paramétrage avec LL::NG (faut avouer que je suis totalement novice en système, je viens d'apprendre dans la douleur a configurer apache, les virtual hosts...)

    Pour aborder les problèmes dans l'ordre, j'ai commencé avec la demonstration, histoire de pouvoir tester, avec les comptes exemples, la création d'applications protégées..

    J'ai donc crée, dans le manager un hôte virtuel :

    Nom : application.example.com
    Règle : default : accept (histoire de pouvoir commencer à tester)
    Pas de HTTPS
    Le reste par défaut

    J'ai crée sur mon serveur, un dossier /var/www/application

    Dans ce dossier j'ai placé un fichier index.php (qui pour l'instant ne fait que la redirection http vers le site distant, toujours dans l'idée de tester la partie handler) et j'y ai inséré le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "Connected user: ".$_SERVER{HTTP_AUTH_USER};
    J'ai ensuite crée le fichier virtual host application-apache2.conf dans /etc/apache2/sites-avalaible/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <VirtualHost *:80>
    	ServerName application.example.com
     
    	PerlOptions +GlobalRequest
    	PerlRequire /var/lib/lemonldap-ng/handler/MyHandler.pm 
     
    	PerlHeaderParserHandler My::Package
     
    	DocumentRoot /var/www/application
     
    	ErrorLog /var/log/apache2/application_error.log
    	CustomLog /var/log/apache2/application_access.log combined
     
    </VirtualHost>
    J'ai ensuite fait remonter ce fichier de conf dans les sites enabled (a2ensite).

    Lorsque je me connecte avec le compte de test dwho, l'application n'apparaît pas dans la liste des applications et lorsque je tente d'accéder en direct à application.example.com, j'y accède directement sans passer par le handler (la commande print ne renvoyant aucun résultat)

    D'ailleurs, lorsque je renomme test1.example.com, celui-ci disparait des applications.

    (en ajoutant à cela que les connexions aux BDD via RDBI ne fonctionnent pas non plus et que je n'arrive pas non plus à attaquer un LDAP, mais chaque problème en même temps..)

    Encore merci d'avance si quelqu'un connait un peu le produit ou a suffisamment de connaissances système pour me dire si j'ai oublié quelque-chose.

    Merci.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Le mécanisme de SSO entre mon "application" (qui n'est pour l'instant qu'une page de test), le handler et le portail LemonLDAP fonctionne.

    Deux choses :

    1/ Je n'avais pas paramétrer l'application pour qu'elle apparaisse dans le portail :

    Paramètres Généraux>portail>Menu>Catégories et applications>

    Ensuite créer l'application en indiquant son url.

    Ensuite en me connectant à l'url application.example.com, je suis redirigé vers le portail pour montrer patte blanche.

    Identification faite (dwho/dwho) je retourne sur la page qui me renvoie..

    Une erreur 500..

    après vérification dans les logs d'erreur de l'application (var/log/apache2/application-error.log) je m'aperçoit que j'ai une erreur dans le script de ma page (php).

    Ayant suivi la doc j'avais mis la ligne suivante :

    [code]print "Connected user: ".$_SERVER{HTTP_AUTH_USER};[/COD]

    Ceci afin de retourner le nom de connexion et vérifier que je réccupère bien les paramètres de l'en-tête http (qui me seront utiles par la suite)

    Ayant remplacé par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_SERVER['HTTP_AUTH_USER']
    J'accède désormais à la page qui me renvoie "dwho", comme étant l'uid avec lequel je suis reconnu.

    Il me faut désormais réussir l'association du portail avec un référentiel utilisateur.

    j'ai configuré une chaine perl dbi pour connexion à une base mysql (contenant une table authentification avec les rows login/pwd/name/mail)

    Je sais que la chaine est correcte :

    dbi:mysql:database=lemonldap-ng;host=localhost

    je paramètre user et mdp ayant droit d'accès à la base.

    Lorsque je tente de me connecter avec user/pwd (existant dans la base), je reçois l'erreur "Mot de passe ou identifiant incorrect"

    Or lorsque je fais exprès de mal paraméter mon password d'accès à la base, le messager d'erreur devient tout simplement "erreur".

    mon portail accède donc bien à la base.. mais il ne parvient pas à extraire les datas.

    Quelqu'un connaitrait-il la réponse.. parceque là, google n'est vraiment pas très amical.

    Merci d'avance.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Bon, ben maintenant LemonLDAP est mon ami.

    Installer Openldap en suivant la doc OpenLDAP du site Ubuntu : http://doc.ubuntu-fr.org/slapd

    Avec le petit bémol suivant :

    phpldapadmin me générait une erreur dès que je voulais créer un nouvel utilisateur.

    A la place du ldif d'initialisation proposée dans la doc, j'ai bricolé celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    ############## init.ldif
     
    dn: dc=secta,dc=fr
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: secta.fr
    dc: secta
     
    dn: ou=People,dc=secta,dc=fr
    objectClass: top
    objectClass: organizationalUnit
    ou: People
     
    dn: cn=admin,dc=secta,dc=fr
    objectClass: top
    objectClass: organizationalRole
    cn: admin
     
    dn: ou=groups,dc=secta,dc=fr
    objectClass: organizationalUnit
    ou: groups
     
    dn: cn=users,ou=groups,dc=secta,dc=fr
    objectClass: posixGroup
    cn: users
    gidNumber: 10000
    #displayName: utilisateurs portail
    Le display name est en commentaire, car lui aussi me pétait une erreur (expliqué dans la doc ubuntu)

    Maintenant ça fonctionne, couples user/pwd reconnus, ainsi que les filtres de recherches.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Recherche d'un bon livre gratuit, format pdf sous soa soap
    Bonjour tout le monde je suis heureux d'être parmi vous
    Ma question est la suivante : Est ce que quelqu'un a un lien de téléchargement d'un livre (pdf) bon coté implementation en soa soap avec?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] SSO Single Sign On avec Symfony
    Par rastaferraille dans le forum Symfony
    Réponses: 10
    Dernier message: 04/01/2010, 12h09
  2. sso (Single Sign-On) avec cognos
    Par Archimede35 dans le forum Cognos
    Réponses: 7
    Dernier message: 11/09/2009, 09h49
  3. [Portlet] Single Sign On possible avec une appli en JSP
    Par osmoze dans le forum Portails
    Réponses: 4
    Dernier message: 16/03/2006, 17h45
  4. Autentification Silent Sign-on avec Apache Tomcat et LDAP
    Par jmottet dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 14/10/2005, 10h25
  5. Passer des Image avec SOAP
    Par pef421 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/03/2004, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo