lundi 23 avril 2012

Oracle BAM avec LDAP - récupération compte Email

Voici un article sur Oracle BAM 11g et comment j'ai relié la sécurité Weblogic Server avec OpenDS (annuaire ldap gratuit).

Avant tout télécharger openDS, puis installer le en mode console ou graphique, puis créer des utilisateurs avec control-panel.bat présent dans le répertoire BAT.


Puis configurer Weblogic Server en ajoutant un nouveau provider de sécurité depuis la console weblogic:







Redémarrez votre serveur Weblogic pour qu'il utilise votre nouvelle source d'authentification.

Depuis Oracle BAM, vous pouvez alors vous signer avec un utilisateur provenant de OpenDS:



Le compte email de l'utilisateur TEST n'apparait pas par défaut car Oracle BAM, ne le récupère pas dans la source d'authentification. Vous pouvez bien évidemment le saisir à la main depuis cette interface, il sera stocké dans la table SysIterUser dans le schéma du BAM (dev_orabam valeur par défaut).
Pour automatiser la récupèration de l'email suite au login dans le BAM, il suffit de déployer un composite effectuant le travail suivant:
- polling de la table SysIterUser (ou vue sur cette table dont le nom contient des ")
- récupération de la ligne nouvellement ajoutée
- appel du composant Spring effectuant la connexion à votre source LDAP et récupération de l'attribut Email
- mise à jour par le Database Adapter de la table ou vue correspondant à SysIterUser

Pour ma part pour ne pas modifier le schéma dev_orabam, j'ai créé la vue suivante:

CREATE VIEW SYSITERUSER AS SELECT
    "SysIterName" as SysIterName,"Email" as email,"SysIterID" as SysIterID FROM "SysIterUser";
 
 
Voici le détail du composite SCA à déployer sur votre instance SOA:





 

Pour recupérer le projet JDEV complet, je vous propose ce lien ICI



Aucun commentaire: