Existe-t-il un moyen simple de tester les informations d'identification d'un utilisateur par rapport à une instance LDAP? Je sais comment écrire un programme Java qui prend le "DN utilisateur" et le mot de passe, et le compare à l'instance LDAP. Cependant, y a-t-il un moyen plus facile? En particulier, une méthode qui non seulement authentifie l'utilisateur, mais répertorie également tous les rôles de l'utilisateur.
ldapwhoami -vvv -h <hostname> -p <port> -D <binddn> -x -w <passwd>
, où binddn
est le nom distinctif de la personne dont vous authentifiez les informations d'identification.
En cas de succès (informations d'identification valides), vous obtenez Result: Success (0)
. En cas d'échec, vous obtenez ldap_bind: Invalid credentials (49)
.
Utilisez ldapsearch
pour vous authentifier. La version opends
peut être utilisée comme suit:
ldapsearch --hostname hostname --port port \
--bindDN userdn --bindPassword password \
--baseDN '' --searchScope base 'objectClass=*' 1.1
Vous devriez consulter le navigateur LDAP de Softerra ( la version gratuite de l'administrateur LDAP), qui peut être téléchargé ici:
http://www.ldapbrowser.com/download.htm
J'ai beaucoup utilisé cette application pour tous mes développements Active Directory, OpenLDAP et Novell eDirectory, et elle a été inestimable.
Si vous souhaitez simplement vérifier si une combinaison nom d'utilisateur/mot de passe fonctionne, il vous suffit de créer un "profil" pour le serveur LDAP, puis de saisir les informations d'identification à l'étape 3 du processus de création:
En cliquant sur "Terminer", vous lierez efficacement le serveur à l'aide des informations d'identification, du mécanisme d'authentification et du mot de passe que vous avez spécifiés. Vous serez invité si la liaison ne fonctionne pas.
L'authentification est effectuée via une simple commande ldap_bind qui prend le DN de l'utilisateur et le mot de passe. L'utilisateur est authentifié lorsque la liaison est réussie. Habituellement, vous obtenez le DN de l'utilisateur via un ldap_search basé sur l'ID utilisateur ou l'adresse de messagerie de l'utilisateur.
Obtenir les rôles des utilisateurs est quelque chose de différent puisqu'il s'agit d'un ldap_search et dépend de l'emplacement et du mode de stockage des rôles dans le ldap. Mais vous pourrez peut-être récupérer les rôles lors de la recherche par tour utilisée pour rechercher le DN de l'utilisateur.
Notez que si vous ne connaissez pas votre DN complet, vous pouvez également utiliser votre nom d'utilisateur ou email habituel avec -U
ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'