- <%
- ' 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
- %>
<%
' 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
%>