Faire des recherches dans Active Directory [php] - PHP - Programmation
Marsh Posté le 07-05-2003 à 14:23:27
je fais un pour te soutenir.
les infos sur LDAP sont difficiles à denicher. est ce que par hasard la methode d'authentification n'est pas la même via php (par defaut) ? genre du plain text ou du md5 ou... peut etre dois tu parametrer ça kke part
Marsh Posté le 07-05-2003 à 14:52:39
genesis a écrit : je fais un pour te soutenir. |
je comprensd pas trop ce que tu m'expliques ...
la méthode d'autentification que j'ai trouvé dans ldp.exe ? ou une autre
et je suppose que qd tu parles de plain text ou md5, c'est pour le cryptage des infos que je passe ??
c'est pas gagné
Merci du UP
Marsh Posté le 07-05-2003 à 15:02:46
Multani a écrit : |
j'ai aussi du mal à comprendre ce que j'ai écris. je t'explique comment ca marche sur un serveur LDAP classique (pas du AD).
il y a differentes methode d'authentification qui dependent du cryptage du mot de passe, ca va de plain text à md5.
moi quand j'attaque mon serveur LDAP (en dotnet pas en php désolé ) je doit spécifier quelle methode d'encryptage est paramétré au niveau du serveur.
on doit probablement faire la meme chose avec AD. quand tu essayes de t'authentifier tu dois spécifier quelle est la methode d'encryptage parametrer au niveau de AD. Ce, afin de la respecter et de ne pas te manger un "invalid credentials".
c'est seulement une piste, mais je n'ai pas d'autres idée pour le moment.
Marsh Posté le 07-05-2003 à 15:13:11
Oki, je vois ce que tu veux dire ...
La grnde question est : comment je trouve la méthode de cryptage sur serveur Win2K ?
Marsh Posté le 07-05-2003 à 15:14:24
Multani a écrit : Oki, je vois ce que tu veux dire ... |
t'as plus qu'a demander sur S&R:
et je te repondrais
Marsh Posté le 07-05-2003 à 15:27:05
Multani a écrit : Stagiaire power .... |
t'es aussi stagiaire
tout ce que je peux te dire sur AD c'est qu'il utilise une securité kerberos.
Marsh Posté le 07-05-2003 à 15:44:51
Ouais, j'ai vu ca quelque part ...
Et ca crypte comment kerberos (je suppose que ca doit crypter ... ?)
Marsh Posté le 07-05-2003 à 15:49:34
Multani a écrit : Ouais, j'ai vu ca quelque part ... |
ben j'en sais fichtre rien !
Marsh Posté le 09-05-2003 à 00:42:28
Multani a écrit : Ouais, j'ai vu ca quelque part ... |
uniquement en mode natif sinon ca cripte a la je ne sais quoi pour accepter les NT4
Marsh Posté le 09-05-2003 à 01:02:23
J'ai pas de réponses, mais c'est intéressant comme sujet
Hésite pas à donner la soluce dès que tu l'as
Marsh Posté le 09-05-2003 à 09:20:36
Pour l'instant, la soluce va s'appeler ASP , ya de fortes chances ...
Marsh Posté le 09-05-2003 à 15:49:59
Hum c'est bizarre ton truc,
j'ai aussi eu a interfacer l'AD en Php pendant mon dernier stage ...
Et j'ai aussi tout d'abord utilisé les fonctions LDAP pour le faire, cela fonctionnait, mais avec des performances catastrophiques (requêtes très très longues à réaliser).
Du coup je suis passé à des connexions ADO directement sur les serveurs qui m'intéressaient, et là, hop, ça fonctionne niquel.
Si ça t'intéresse, je pourrais te retrouver le code en question, je dois avoir ça quelque part.
PS: Donc en gros, ce sont forcément tes requêtes qui sont mal construites , t'aurais pas un exemple ?
Marsh Posté le 12-05-2003 à 11:20:11
Ah ah, du nouveau ...
On a interrogé avec le même code que pour Active Directory, un annuaire OpenLDAP sous Linux, et la ça roule ...
Et quand on essaie sous Windows, ya toujours 0 résultats ...
Notsukaw, tu pourrais nous dire comment tu configure ton serveur AD pour utiliser les requètes LDAP (on verra après pour ADO) ?
Marsh Posté le 13-05-2003 à 17:37:09
genesis a écrit : je soutiens ton |
apparement pas tant que ca ...
pétage de plomb tiens
Marsh Posté le 15-05-2003 à 12:30:51
Code :
|
Donc voilà en gros comment ça fonctionne,
si vous avez des questions, je reste open
Marsh Posté le 15-05-2003 à 17:03:54
Eh eh, ca marche pas des masses....
Quand je laisse le code comme ca (avec les variables modifiées qd même ...), j'ai une erreur sur
while(!rs->EOF){ |
Je l'ai donc viré pour voir le reste du code, des fois que rs soit vide et que du coup, la méthode EOF ne lui plaise pas.
Donc, sans rien touché d'autre, j'au une Internal Error (500) sur le Open apparement, mais si j'enlève la ligne correspondant au choix du Provider, et que je mets le provider dans le Open, comme ca
|
j'ai plus d'erreur #500, mais il me dit qu'il trouve pas le pilote ODBC ...
Warning: (null)(): Invoke() failed: Une exception s'est produite. Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][Gestionnaire de pilotes ODBC] Source de données non trouvée et nom de pilote non spécifié in ... |
VOila, c'est super cool
Marsh Posté le 16-05-2003 à 09:31:55
Hummmmmmmm bizarre tout ça ...
C'est quoi ton serveur web ?
Marsh Posté le 16-05-2003 à 09:36:56
Tu l'as trouvé où ta doc sur tout ça ?
Faudrait que j'ai les résultats retournés par les méthodes, pour tester où ca foire, mais je trouve pas grand chose sur le Web
Marsh Posté le 16-05-2003 à 14:00:20
Hummm oué je vais revoir ça, j'ai dû faire une connerie sur ce code là et j'ai pas mon ancien sous la main
Sinon j'ai trouvé ce script:
Code :
|
Sans ADO même si tu as déjà testé
Marsh Posté le 16-05-2003 à 15:00:51
Ouais, ca c'est les exemples classiques, qu'on trouve sur le web ....
Mais bon, merci ...
Je crois qu'on a trouvé la solution au problème avec LDAP (sans passer par ADO) : pour faire le bind, il faut passer dans le nom de l'utilisateur le nom du domaine sur lequel on veut se connecter ...
Le code devient donc :
Code :
|
Et voilà, le secret résidait dans le user_dn, en précisant dans quel domaine il agissait ..., c'est à dire dans l'exemple, il suffisait d'ajouter @DST38000.local, pour que tout roule (ca fait qd même 2 semaines qu'on cherchait )
Vouala quoi, on va pouvoir s'amuser maintenant, à faire des requètes de ouf, .... enfin bref
Si jamais ca intéresse du monde, je pourrais founir les perfs de requètes (à priori, ca à pas l'air de ramer plus que ca ...)
Marsh Posté le 17-05-2003 à 11:45:18
Oui les perfs ça m'intéressé
Parce que franchement quand j'ai essayé c'était pas concluant du tout
Du style pour avoir les 700 résultats d'une requête il me fallait bien 10/15 sec, alors qu'en ADO c'était quasi-instantanné
Marsh Posté le 19-05-2003 à 09:43:24
D'ac, je te dirais ca ... C'est qd tu consultais les Users ?
Si tu faisais des ajouts dans AD, tu ajoutais quoi ? des users (surement ...), mais des UO ?
Merci
Marsh Posté le 25-05-2003 à 02:50:22
Multani a écrit : D'ac, je te dirais ca ... C'est qd tu consultais les Users ? |
Nan, c'était pour consulter les postes servis des agences bancaires du réseau.
Et je faisais uniquement de la consultation, pas le droit d'aller toucher à l'AD ils avaient peur que je vire leur 5000 comptes machine ou quoi ?
Marsh Posté le 07-05-2003 à 09:29:19
Salut !
Je veux faire des recherches dans Active Directory en utilisant PHP, via les fonctions LDAP.
En utilisant l'utilitaire Microsoft fourni sur le cd de Win2KS, ldp.exe, j'arrive à consulter les mecs qui sont dnas une Unité d'Organisation, mais en utilisant les même paramètres que ceux créer par ldp.exe, PHPH, ne me retourne aucun résultat
Comment ça se fait ?? J'ai mis Apache sur la même machine que Win2KS, et à la connexion il me met aucune erreur ...
Ah oui, ya un truc bizarre, c'est que quand je passe par ldp.exe, je mets comme user Administrateur et, son passwd, mais dans PHP, quand je mets la même chose, il fait un Warning : Invalid credentials (c'est dans ldap_bind(...) ). Mais si je mets pas de mot de passe, alors ca marche
Merci de me filer un coup de main !
Message édité par multani le 07-05-2003 à 09:29:36