Custom - Ajouter une authentification LDAP Aj ou te r un e au th en tifi ca tio n L D A P Cons tance Bure au 2014 /09/2 4 14:3 5 Table des matières Prérequis ........................................................................................................................................................................................................................................... Authentification intégrée ............................................................................................................................................................................................................... Page 1 - dernière modification par Constance Bureau le 2014/09/24 14:35 Custom - Ajouter une authentification LDAP Ajouter un LDAP .......................................................................................................................................................................................................................... Customsation de la sécurité ..................................................................................................................................................................................................... Cette page explique comment activer l’authentification LDAP sur les applications générées par Toy. Prérequis Pour réaliser une authentification LDAP, vous devez d’abord comprendre comment LDAP marche: C’est basiquement une organisation hiérarchique de données. Pour authentifier une personne, vous devez connaitre l’adresse de sa page au sein du LDAP (souvent appelé DN). Afin d’obtenir cette information durant l’authentification il faut fournir le login de l’utilisateur à rechercher puis tenter la connexion avec le mot de passe associé. LDAP peut fonctionner de deux manières: • • Anonyme: pas besoin d’être identifié pour lancer une recherche Authentifié: vous devez être authentifié Si votre LDAP fonctionne en mode authentifié vous devez avoir un compte de service afin de permettre l’identification des utilisateurs.Dans les deux cas, vous devez connaitre : • • • Ou sont stockés l’entrée utilisateurs Dans quel champs est stocké le login Quel champs représente l’entrée utilisateur Authentification intégrée L’application générée utilise des mécanisme d’authentification intégrée. Ils peuvent être implémentés par le projet de différentes manière (BDD, SSO, ...) l’une d’elle est l’utilisation du LDAP. Ajouter un LDAP Pour cela, vous avez deux choix dépendant de la version de Toy que vous utilisez: 1. 1. Vous avez une version 2.3 de Toy & ses Layers: les classes utilisées sont fournies à la génération Vous avez une version plus ancienne: vous devez ajouter le contenu de LDAP_SecurityManager.zip à votre application générée. En vous assurant que: • • • • • • • • • • la classe SecurityManager hérite de LdapSecurityManager (et non pas DefaultSecurityManager). la config suivante est ajoutée à votre serveur (context.xml sur Tomcat) <Resource name=”ldap/config” auth=”Container” type=”fr.logica.security.LdapConfig” factory=”fr.logica.security.LdapConfigFactory” java.naming.provider.url=”ldap://__server__:__port__/__base_dn__” java.naming.security.authentication=”simple” java.naming.security.principal=”__binding_user_dn__” java.naming.security.credentials=”__binding_user_password__” ldap.userBaseDn=”__user_root_dn__” ldap.userLoginAttr=”cn” ldap.userDnAttr=”distinguishedName” Page 2 - dernière modification par Constance Bureau le 2014/09/24 14:35 Custom - Ajouter une authentification LDAP • • • ldap.userOtherAttr=”sn,givenName,mail” /> Vous devez bien évidement adapter la configuration ci-dessus à votre répertoire LDAP. La prochaine fois que vous démarrerez votre application vous pourrez commencer à vous authentifier en utilisant vos login/mot de passe LDAP ! Customsation de la sécurité L’ajout de l’authentification LDAP ne fourni pas une sécurité complète. Les fonctions ne sécurité ne sont pas chargée depuis l’annuaire LDAP, vous devez les implémenter par vous même. Vous pouvez aussi choisir d’ajouter des focntionalités custom avec l’utilisateur authentifié. Pour cela, vous devez customiser votre SecurityManager.java comme suit: Afficher le code Cette classe java doit être bien évidement adaptée à votre projet. Page 3 - dernière modification par Constance Bureau le 2014/09/24 14:35