Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2007, 15h07   #1
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 4
Points : 4
Par défaut Page web pour rechercher un utilisateur dans l'AD

Bonjour,
Voila je suis entrain de développer une petite page web qui doit faire une recherche dans l'Active Directory par rapport à un mot clé saisi par l'utilisateur, le problème c'est que ca ne fonctionne pas, quand l'utilisateur lance la recherche, une erreur 500 apparait

voila mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
<%
If Request.Form("bouton") <> "" Then
	dim nam
 	nam=Request.form("nom")
	Response.Write nam & "<br />"
	if nam <> "" then
	Dim oUser
	Set oContainer=GetObject("LDAP://DC=camille,DC=com")
	enum oContainer, nam
 
sub enum(oCont,vname)
	For Each oUser In oCont
		Select Case LCase(oUser.Class)
			Case "user"
				If Not IsEmpty(oUser.name) Then
					if right(vname,1) = "*" then
						var = left(vname,len(vname)-1)
					end if
					var= ucase(var)
					vnom = ucase(oUser.name)
					longueur = len(vnom) - len(var)
					For i = 1 to longueur
						If mid(vnom,i,len(var)) = var then
							response.write " Nom complet : " & oUser.name & "<br />"
						End if
					Next
				End If
			Case "organizationalunit", "container"
				enum oUser
		End Select
	Next
 
	Else 
		Response.write "Un des champs est vide ... " & "<br />"
	End If
 
end sub
 
End If
 
 
%>
 
<html>
<head>
<title>recherche utilisateur</title>
 
</head>
<body>
<H1>recherche utilisateur</H1>
 
<BR>
 
<FORM NAME="form" method="post" action="recherche.asp">
 
Entrez le nom: 
<INPUT NAME="nom" TYPE="TEXT" SIZE="10">
<br>
 
<INPUT TYPE="submit" NAME="bouton" VALUE="valider">
</FORM>
 
</body>
</html>

J'ai testé ce code dans un script vbs ca fonctionne

Qqun peut il m'aider ?

Camille.
Camilleq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 23h16   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,
Citation:
quand l'utilisateur lance la recherche, une erreur 500 apparait
Pour obtenir un message d'erreur plus détaillé, tu peux changer un parametre de IE: Outils > Option Internet > Avancé > décocher l'equivalent français de "Show friendly HTTP error messages".
Ensuite reproduit l'erreur et donne nous le message détaillé.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 11h38   #3
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 4
Points : 4
Merci pour l'info ca m'a permis de voir pas mal d'erreur =)

Bon j'ai modifié mon code, la requete fonctionne, mais il m'affiche tout les utilisateurs de mon AD ...

je n'arrive pas à voir ou j'ai fait une erreur dans mon code oO

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
<%
If Request.Form("bouton") <> "" Then
	dim nam
	dim retour
	dim tatatta
 	nam=Request.form("nom")
	Response.Write nam & "<br />"
	retour = ""
	if nam <> "" then
		Dim oUser
		Set oContainer=GetObject("LDAP://DC=camille,DC=wifi")
		call modif(oContainer, nam)
		response.write retour
	Else 
		Response.write "Un des champs est vide ... " & "<br />"
	End If
End If
sub modif(oCont,vname)
	For Each oUser In oCont
		Select Case LCase(oUser.Class)
			Case "user"
				If Not IsEmpty(oUser.name) Then
					if right(vname,1) = "*" then
						var = left(vname,len(vname)-1)
					end if
 
					var= ucase(var)
					vnom = ucase(oUser.name)
 
					longueur = len(vnom) - len(var)
					For i = 1 to longueur
						If mid(vnom,i,len(var)) = var then
							retour = retour & "Nom complet : " & right(oUser.name,len(oUser.name)-3) & vbtab & "Login : " & oUser.sAMAccountName & vbtab & " description : " & oUser.description & "<br />"
						End if
					Next
				End If
			Case "organizationalunit", "container"
				modif oUser,vname
		End Select
	Next
end sub
%>
<html>
<head><title>recherche utilisateur</title></head>
<body>
<H1>recherche utilisateur</H1><BR>
 
<FORM NAME="form" method="post" action="recherche.asp">
 
Entrez le nom: 
<INPUT NAME="nom" TYPE="TEXT" SIZE="10"><br>
 
<INPUT TYPE="submit" NAME="bouton" VALUE="valider"></FORM>
 
</body></html>
Camilleq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 11h48   #4
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 4
Points : 4
Bon j'ai trouvé ^^

Voila mon code finale :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
<%
If Request.Form("bouton") <> "" Then
	dim nam
	dim retour
	dim tatatta
 	nam=Request.form("nom") 'Recupere la valeur du form
	Response.Write " <H1>Recherche pour : " & nam & "</H1>" & "<br />"
	retour = ""
	if nam <> "" then 'verifie si il y a bien une valeur saisie
		Dim oUser
		Set oContainer=GetObject("LDAP://DC=camille,DC=wifi")' requete LDAP pour se connecter au DC
		call modif(oContainer, nam) 'appel de la procedure
		response.write retour 'affiche le resultat
	Else 
		Response.write "Un des champs est vide ... " & "<br />"
	End If
End If
sub modif(oCont,vname)
	For Each oUser In oCont
		Select Case LCase(oUser.Class)
			Case "user"
				If Not IsEmpty(oUser.name) Then
					if right(vname,1) = "*" then 'verifie que l'utilisateur n'a pas mis un * a la fin
						var = left(vname,len(vname)-1)
					Else
						var = vname
					end if
 
					var= ucase(var)
					vnom = ucase(oUser.name)
 
					longueur = len(vnom) - len(var)
					For i = 1 to longueur 'boucle de comparaison
						If mid(vnom,i,len(var)) = var then
							retour = retour & "Nom complet : " & right(oUser.name,len(oUser.name)-3) & vbtab & "Login : " & oUser.sAMAccountName & vbtab & " description : " & oUser.description & "<br />" 'affichage de qques valeurs de l'AD
						End if
					Next
				End If
			Case "organizationalunit", "container"
				call modif(oUser, vname)
		End Select
	Next
end sub
%>
<html>
<head><title>recherche utilisateur</title></head>
<body>
<H1>recherche utilisateur</H1><BR>
 
<FORM NAME="form" method="post" action="recherche.asp">
 
Entrez le nom: 
<INPUT NAME="nom" TYPE="TEXT" SIZE="10"><br>
 
<INPUT TYPE="submit" NAME="bouton" VALUE="valider"></FORM>
 
</body></html>
Camilleq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h22.


 
 
 
 
Partenaires

Hébergement Web