Cette page vérifie si un utilisateur est dans un container d'un Active Directory.
Source / Exemple :
<%
' en paramètre :
' - le nom de connexion de l'utilisateur (propriété sAMAccountName d'une personne dans ActiveDirectory)
' - la requete complète du container
' resultat de la fonction :
' * 1 si l'utilisateur appartient au container
' * 0 si l'utilisateur n'appartient pas au container
' * -1 si la requete LDAP est invalide
function UserInCN(LogonUser, Chemin)
' VARIABLES DE CONNEXION A L'ACTIVE DIRECTORY
adUsername="utilisateur"
adPassword="motdepasse"
Dim dso
Set dso = GetObject("LDAP:")
Dim obj
On Error Resume Next
' CONNEXION A L'ACTIVE DIRECTORY
Set obj = dso.OpenDSObject(Chemin, adUsername, adPassword, 1)
if (Err.Number <> 0) then
UserInCN = -1
exit function
end if
' POUR CHAQUE MEMBRE TROUVE DANS LE CONTAINER (CN=...)
for each item in obj.members
' si le membre est un groupe
if (item.Class = "group") then
' alors on exécute de nouveau la fonction avec le nouveau chemin du container groupe
resultat = UserInCN(LogonUser, item.Adspath)
' lorsque le résultat de la fonction est vrai,
if resultat = 1 then
UserInCN = 1
exit function
end if
end if
' si le membre correspond à UserNameLogon alors la fonction retourne 1
if lcase(item.sAMAccountName) = lcase(LogonUser) then
UserInCN = 1
exit function
end if
next
Set obj = nothing
Set dso = nothing
UserInCN = 0
end function
' --- PROGRAMME PRINCIPAL
if (UserInCN("utilisateur", "LDAP://192.168.1.111/CN=Developpeurs,OU=Service informatique,DC=machine,DC=domaine") = 1) then
response.write "L'utilsateur appartient au container Developpeurs" & VbCrLf
else
response.write "L'utilsateur n'appartient pas au container Developpeurs" & VbCrLf
end if
' --- FIN: PROGRAMME PRINCIPAL
%>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.