bonjour,
j ai intégré un script dans une page ASP afin de modifier les informations
utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
bonjour,
j ai intégré un script dans une page ASP afin de modifier les informations
utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
bonjour,
j ai intégré un script dans une page ASP afin de modifier les informations
utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela évite
les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela évite
les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:%23psyM%23xlEHA.536@TK2MSFTNGP11.phx.gbl...
bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela évite
les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de passe
dans le script car plusieurs utilisateurs auront accès avec des droits
différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de passe
dans le script car plusieurs utilisateurs auront accès avec des droits
différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans le
message de news: uMcEFdylEHA.2820@TK2MSFTNGP15.phx.gbl...
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:%23psyM%23xlEHA.536@TK2MSFTNGP11.phx.gbl...
bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de passe
dans le script car plusieurs utilisateurs auront accès avec des droits
différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l AD,j
ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut tourner
sous son propre compte (un peu à la manière d'un service) et dans ce cas
le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et pas
son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO dans
ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut tourner
sous son propre compte (un peu à la manière d'un service) et dans ce cas
le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et pas
son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO dans
ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:eaLTk6ylEHA.1672@TK2MSFTNGP14.phx.gbl...
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans le
message de news: uMcEFdylEHA.2820@TK2MSFTNGP15.phx.gbl...
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:%23psyM%23xlEHA.536@TK2MSFTNGP11.phx.gbl...
bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut tourner
sous son propre compte (un peu à la manière d'un service) et dans ce cas
le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et pas
son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO dans
ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
ok merci pour ton aide et je suis bien d accord qu'il serait préférable de
ne pas inclure le mot de passe dans le code mais je ne vois pas comment
faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et dans
ce cas le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
ok merci pour ton aide et je suis bien d accord qu'il serait préférable de
ne pas inclure le mot de passe dans le code mais je ne vois pas comment
faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans le
message de news: uIWlx63lEHA.2200@TK2MSFTNGP10.phx.gbl...
Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et dans
ce cas le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:eaLTk6ylEHA.1672@TK2MSFTNGP14.phx.gbl...
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans le
message de news: uMcEFdylEHA.2820@TK2MSFTNGP15.phx.gbl...
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:%23psyM%23xlEHA.536@TK2MSFTNGP11.phx.gbl...
bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
ok merci pour ton aide et je suis bien d accord qu'il serait préférable de
ne pas inclure le mot de passe dans le code mais je ne vois pas comment
faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour que
le mot de passe de l'appli soit dans le code et cela n'a rien à voir avec
les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et dans
ce cas le site ne prends plus les droits des utilisateurs connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Avec le schéma d'impersonation classique de ASP, la page .asp tourne dans
le contexte de l'utilisateur qui est connecté, donc sans rien faire de
particulier, le script tourne déjà dans le contexte de l'utilisateur.
Pour forcer le site à tourner dans une identité particulière tout en
authentifiant les utilisateurs connectés, utiliser les méthodes fournies
dans :
Q248187 (248187 - How to impersonate a user from Active Server Pages)
Q223406 (223406 - How To Create an Empty MTS Package to Add Components
for ASP)
Si vous voulez faire tourner le site dans une identité sans authentifier
les utilisateurs, il est aussi possible de changer le compte anonyme ...
"plomkiolki" wrote in message
news:ok merci pour ton aide et je suis bien d accord qu'il serait préférable
de ne pas inclure le mot de passe dans le code mais je ne vois pas
comment faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière
différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour
que le mot de passe de l'appli soit dans le code et cela n'a rien à voir
avec les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et
dans ce cas le site ne prends plus les droits des utilisateurs
connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans
le message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Avec le schéma d'impersonation classique de ASP, la page .asp tourne dans
le contexte de l'utilisateur qui est connecté, donc sans rien faire de
particulier, le script tourne déjà dans le contexte de l'utilisateur.
Pour forcer le site à tourner dans une identité particulière tout en
authentifiant les utilisateurs connectés, utiliser les méthodes fournies
dans :
Q248187 (248187 - How to impersonate a user from Active Server Pages)
Q223406 (223406 - How To Create an Empty MTS Package to Add Components
for ASP)
Si vous voulez faire tourner le site dans une identité sans authentifier
les utilisateurs, il est aussi possible de changer le compte anonyme ...
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:eEUr9bXmEHA.3608@TK2MSFTNGP09.phx.gbl...
ok merci pour ton aide et je suis bien d accord qu'il serait préférable
de ne pas inclure le mot de passe dans le code mais je ne vois pas
comment faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière
différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans le
message de news: uIWlx63lEHA.2200@TK2MSFTNGP10.phx.gbl...
Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour
que le mot de passe de l'appli soit dans le code et cela n'a rien à voir
avec les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et
dans ce cas le site ne prends plus les droits des utilisateurs
connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:eaLTk6ylEHA.1672@TK2MSFTNGP14.phx.gbl...
merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" <gbordier@online.microsoft.com> a écrit dans
le message de news: uMcEFdylEHA.2820@TK2MSFTNGP15.phx.gbl...
Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" <plomkiolki@hotmail.com> wrote in message
news:%23psyM%23xlEHA.536@TK2MSFTNGP11.phx.gbl...
bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>
Avec le schéma d'impersonation classique de ASP, la page .asp tourne dans
le contexte de l'utilisateur qui est connecté, donc sans rien faire de
particulier, le script tourne déjà dans le contexte de l'utilisateur.
Pour forcer le site à tourner dans une identité particulière tout en
authentifiant les utilisateurs connectés, utiliser les méthodes fournies
dans :
Q248187 (248187 - How to impersonate a user from Active Server Pages)
Q223406 (223406 - How To Create an Empty MTS Package to Add Components
for ASP)
Si vous voulez faire tourner le site dans une identité sans authentifier
les utilisateurs, il est aussi possible de changer le compte anonyme ...
"plomkiolki" wrote in message
news:ok merci pour ton aide et je suis bien d accord qu'il serait préférable
de ne pas inclure le mot de passe dans le code mais je ne vois pas
comment faire autrement.
je t explique la situation:
le code est intégré dans une page ASP et donc le code est utilisé avec le
compte qui gère le IIS.
Or j ai besoin que chake utilisateur en fonction de son compte AD ait des
droits de modification sur son profil AD uniquement.
as tu une autre idée pour que cela soit possible d'une manière
différente?
merci en tout cas et a bientot.
"Guillaume Bordier [MS]" a écrit dans le
message de news:Bonjour,
Je ne vais pas me battre, mais il n'y a JAMAIS de bonnes raisons pour
que le mot de passe de l'appli soit dans le code et cela n'a rien à voir
avec les utilisateurs se connectant à l'application, l'application peut
tourner sous son propre compte (un peu à la manière d'un service) et
dans ce cas le site ne prends plus les droits des utilisateurs
connectés....
Mais revenons à vos moutons, il faut passer le username dans le champs
"User ID" de ADO et donc :
const ADS_SECURE_AUTHENTICATION=1
oConnection.Provider = "ADsDSOObject"
oConnection.Properties("ADSI Flag") = ADS_SECURE_AUTHENTICATION
oConnection.Properties("User ID") = UserName
oConnection.Properties("Password") = Password
oConnection.Open "Active Directory Provider"
où UserName = "plop", probablement, mais il faut mettre le compte
utilisateur (nom de connexion pre-Windows 2000 ou "samaccountname") et
pas son DN.
Quand à "Encrypt Password" c'est inutile, ADSI (sur lequel repose ADO
dans ce cas) ne fait jamais transiter de mots de passe en clair.
Guillaume
"plomkiolki" wrote in message
news:merci pour la réponse.
malheureusement nous sommes obligés d'utiliser les comptes et mot de
passe dans le script car plusieurs utilisateurs auront accès avec des
droits différents.
dans mon script j ai mis ce morceau de code mais cela n a pas l air de
fonctionner...
Set oConnect = CreateObject("ADODB.Connection")oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
aurais tu une idée?
merci d avance.
"Guillaume Bordier [MS]" a écrit dans
le message de news:Bonjour,
A ma connaissance, c'est le nom d'utilisateur (nom de connexion,
samaccountname) ou l'UPN qu'il faut donner à ADO pour qu'il
authentifie.
L'autre solution est de ne rien mettre, et de placer le site dans une
application pool démarée avec l'identité du compte en question, cela
évite les mots de passe dans le code !
Guillaume Bordier
MCS France
"plomkiolki" wrote in message
news:%23psyM%bonjour,
j ai intégré un script dans une page ASP afin de modifier les
informations utilisateurs dans l active directory.
Or j obtiens une erreur "Demande d'autorisation refusée."
comment puis je faire pour que lors de la connexion du script sur l
AD,j ai la possibilité de spécifier un compte utilisateur précis.
Merci d'avance
voici le script en question:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set oConnect = CreateObject("ADODB.Connection")
oConnect.Provider = "ADsDSOObject"
oConnect.Properties("User ID") = "CN=plop,DC=plop,DC=fr"
oConnect.Properties("Password") = "plop"
oConnect.Properties("Encrypt Password") = True
oConnect.Open
Set command = CreateObject("ADODB.Command")
Set command.ActiveConnection = oConnect
Dim strQuery, strBase, strFilter, strAttributes
strBase = "<LDAP://OU=plop,DC=fr>"
strFilter =
"(&(objectCategory=person)(objectclass=user)(samaccountname=plop))"
strAttributes =
"samaccountname,sn,givenname,mail,telephonenumber,mobile,facsimiletelephonenumber,homephone,ipphone,wwwhomepage,"
&_
"title,info,department,st,manager,assistant"
strQuery = strBase & ";" & strFilter & ";" & strAttributes &
";subtree"
command.CommandText = strQuery
Command.Properties("Page Size") = 100
Command.Properties("Timeout") = 30
Command.Properties("Cache Results") = False
Set rs = CreateObject("ADODB.recordset")
Set rs = Command.Execute
%>
<% if rs.EOF then %>
<strong>..:: No user profil found !!! ::..</strong>
<%else %>
<strong>..:: Profil ready for update ::..</strong>
<%
rs.Put "givenName", "plop 2"
rs.setinfo %>
<%end if %>
<%
rs.close
set rs = nothing
set command = nothing
set oConnect = nothing
%>