[ASP] - ACTIVE DIRECTORY - TESTER (RÉCURSIVEMENT) SI UN UTILISATEUR EST DANS UN

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 - 25 avril 2003 à 11:01
idealyo Messages postés 44 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 19 août 2006 - 6 avril 2005 à 10:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9024-asp-active-directory-tester-recursivement-si-un-utilisateur-est-dans-un-container-cn

idealyo Messages postés 44 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 19 août 2006
6 avril 2005 à 10:08
Je cherche, je cherche ne t'inquiete pas pour ca, je t'en remercie...
<%
on error resume next
set dso = GetObject("LDAP:")
' set container = dso.OpenDSObject("LDAP://10.1.19.11/CN=frapp042_web,OU=Security,OU=FR_Groups,DC=fr,DC=nextiraone-eu,dc=ned", _
'"francois.peyronnet_segula@nextiraone.fr","Azerty01", 1)
set container = dso.OpenDSObject("LDAP://FRLOG001/CN=FRAPP042_WEB,OU=Applicatif,OU=FR_Groups,DC=fr,DC=nextiraone-eu,DC=ned", _
"leLogin","leMdp", 1)
if err <> 0 then
erreur = "Erreur lors la connexion de l'uilisateur '" & "future var" & "'\nNuméro de l'erreur : " & err.number & "'\nDescription de l'erreur : " & err.number
Response.Write(erreur)
else
Response.Write ("Page 1 --> si ca s'affiche tu fais parti de FR_STAFFS
")
%>


la ce bout de code marche, car lorsque je mets un groupe dont je n'ai pas l'accès ca me l'erreur...

donc la en gros ca marche, mais mon souci c'est de faire une requete LDAP qui m'affiche tous les utilisateurs d'un groupe...

Stp aide moi :(
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
6 avril 2005 à 09:51
Commence par lire le cours et te renseigner sur le mode de fonctionnement de LDAP.
Etre stagiaire ne veut pas dire être idiot et refuser de chercher. La solution pour toi n'est pas que je te donne la réponse toute faite mais que tu la trouves par toi même.
Je rappelle que l'apprentissage est basé sur la recherche personnelle et non sur la copie de solution toute faite.

Bonne chance et bon stage.

Cordialement
Romelard Fabrice
idealyo Messages postés 44 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 19 août 2006
6 avril 2005 à 09:35
je dois faire une requete ldap sous asp, afin de voir si l'utilisateur a le droit d'ouvrir une page ou pas...
Code:

<%
Dim WsNet
Set WsNet = Server.CreateObject("Wscript.Network")
Response.Write "Bienvenue : "& Request.ServerVariables("WsNet.UserName")
%>


ensuite ce que j'aimerai faire, c'est interrogé LDAP afin de savoir si cet utilisateur fait partie d'un groupe ou pas.

Voila ne m'y connaissant en rien LDaP, étant un simple stagiaire, j'aurai besoin d'aide...

Pour l'instant j'aimerai juste faire une requete qui me liste tous les utilisateurs d'un groupe... donc
ou=FR_STAFFS
DC=fr,DC=nextiraone-eu,dc=ned

voila alors comment je m'y prends
Code:

set dso = GetObject("LDAP:")
set container = dso.OpenDSObject("LDAP://10.1.19.11/ou=FR_STAFFS,DC=fr,DC=nextiraone-eu,dc=ned", _
"unLoginpouvantallersurLdap","sonMdp", 1)

voila donc ma requête mais comment faire maintenant pour lister son contenu .

En esperant que quelqu'un pourra et voudra bien m'aider

ou bien m'aider adapter ton code, a la requete que je dois faire...

MErci
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
5 avril 2005 à 15:01
C'est du standard LDAP :
DC = Domain Controler
OU = Organisation Unit
...

Un tutorial est disponible ici :
- http://www-sop.inria.fr/semir/personnel/Laurent.Mirtain/ldap-livre.html

Cordialement
Romelard Fabrice.
idealyo Messages postés 44 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 19 août 2006
5 avril 2005 à 13:48
a quoi correspond
cn
dc
ou

Merci de ta réponse :)
idealyo Messages postés 44 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 19 août 2006
5 avril 2005 à 13:36
ca marche pas du tout chez moi...
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
4 janv. 2005 à 13:13
Neferti,

Peut-être faut-il que tu spécifie le "dn" (distinguished name) dans la chaîne de connexion, du style :

Set dso = GetObject(?LDAP://cn=neferti,ou=admin,dc=neferti,dc=com?)

Mais je n'en suis pas certain...
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 août 2007
4 janv. 2005 à 12:47
Salut Panza,

Ci-dessous une petite classe .NET en C# pour changer le mot de passe d'un utilisateur :

using System;
using System.DirectoryServices;

public class ChangePass {

public static void Main(string[] args) {

DirectoryEntry DirEntry;
DirEntry = new
DirectoryEntry("WinNT:\/\/domaine\/nomutilisateur,utilisateur");

DirEntry.Invoke("setPassword", "motdepasse");

DirEntry.CommitChanges();
}
}

Au cas où le C# n'est pas ton truc, voici sensiblement la même chose en ASP 3.0 :

Dim utilisateur_a_modifier
Dim nomutilisateur
Dim domaine
Dim nouveau_motdepasse
Dim ancien_motdepasse

domaine = "test.local"
nomutilisateur = "moi"
utilisateur_a_modifier = "nathalie"
ancien_motdepasse = "vieux_motdepasse"
nouveau_motdepasse = "neuf_motdepasse"

Set User = GetObject("WinNT://" & domaine & "/" & nomutilisateur & "," & utilisateur_a_modifier)

Call User.ChangePassword(ancien_motdepasse, nouveau_motdepasse)
User.SetInfo

En espérant que cela t'aide et en m'excusant du retard...
cs_panza Messages postés 4 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 17 août 2004
17 août 2004 à 10:34
Bonjour

As tu un code pour réinitialiser le mot de passe d'un utilisateur de l'AD, par une chaine xxxx
?

merci : panzabitsaka@free.fr
cs_neferti Messages postés 13 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 27 avril 2004
9 févr. 2004 à 14:19
Bonjour,
Lors du test de cette page, le navigateur me dit qu'il y a une erreur de synthaxe sur la ligne

Set dso = GetObject("LDAP:")

En cherchant sur d'autre site, j'ai vu qu'il pouvait y avoir des paramètres ????
Pouvez-vous m'aidez SVP.

merci

neferti
cs_Apolos Messages postés 4 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 mai 2009
27 mai 2003 à 12:25
le code est clair, mais il ne marche pas chez moi, j'aimeais bien comprendre. Aucundes codes sur ce sujet (AD) ne marche, pourtant en VB ça marche
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
25 avril 2003 à 11:01
Pour ceux que la manipulation en ASP des données de l'active directory intéresse, un lien très utile est celui-ci :
- http://www.microsoft.com/technet/treeview/default.asp?url=/technet/ScriptCenter/user/ScrUG146.asp

F___
Rejoignez-nous