Manipuler Active Directory avec le compte ASPNET

Signaler
Messages postés
165
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007
-
Messages postés
165
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007
-
Bonjour,


je développe actuellement une application ASP .Net 2.0 depuis laquelle
j'essaie de manipuler l'Active Directory : ajout et suppression d'un
utilisateur.


Ca marche nickel quand j'éxécute depuis Visual Studio en DEBUG
l'application car le compte utilisé lors de la manipulation est celui
de Windows mais j'ai un refus d'accès lorsque j'effectue la manip une
fois l'application Web publiée sur IIS (car c'est le compte ASPNET qui
entre en jeu).


Ma question est donc : comment donner les droits d'accès à l'AD au compte ASPNET pour plus que çà plante ???????


Merci beaucoup d'avance...

4 réponses

Messages postés
138
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
2 février 2010

Je crois que tu as deux option :

1) L'emprunt d'itentité que tu code dans le programme

2) Moi ce que j'ai fait c'est que je prends l'identité du client qui se connecte au site et je declare ma connection comme suit :
Public

Class ActiveDirectory

   Private _ActiveDirectory
As DirectoryEntry

  
public sub new   (V_ConnectionString= LDAP....)
Try
   Me._ActiveDirectory =
New DirectoryEntry(V_ConnectionString)
      
    Me._ActiveDirectory.AuthenticationType = AuthenticationTypes.Secure

   Catch ex
As Exception

   Throw
New Exception(ex.Message)

   End
Try
end sub

Public
Function SearchUser(
ByVal UserName
As
String)

Dim Result
As SearchResult

Dim Search
As
New DirectorySearcher

' Paramétrage de la requête
Search.SearchRoot =
Me._ActiveDirectory
Search.Filter =
"SAMAccountName=" + UserName

' Récupération du résultat de la requête
Result = Search.FindOne()

Catch ex
As Exception

Throw
New System.Exception(ex.Message)

End
Try

End
Function

Ensuite tu utilise tes commandes create delete etc.. Bien sur l'utilisateur qui se connecte sur ton site doit avoir les droits de créér des user etc...

Donne moi tes commentaires j'ai tenté l'experience pour faire des recherches sur des utilisateurs (Ce qui ne demande pas beaucoup de droit) mais pas pour crééer des utilisateurs

Myke
Messages postés
165
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

Du coup j'ai fais comme cela :

1/ Ajout de la ligne suivante dans le web.config :

Ce qui me permet d'avoir une impersonnation persistante, toutes les actions lancées depuis mon appli Web se feront avec le compte "AdminUserName" qui fait parti du groupe "Administrateurs".

2/ Par contre quand j'accède à l'active Directory, il faut bien faire de la redondance et réindiquer avec quel compte on fait l'action sinon çà ne fonctionne pas :

DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer", Environment.MachineName + "\" + ConfigurationManager.AppSettings["AdminUsername"], ConfigurationManager.AppSettings["AdminPassword"]);

Je suppose que c'est une sorte de sécurité supplémentaire que de réindiquer le username et password ?

Voilà en tout cas maintenant çà marche tout bien !!!

Note : Pourquoi j'ai fais une impersonnation persistante ? Car sinon je ne pouvais plus accéder en écriture au système de fichiers (notamment pour créer des fichiers XML)...
Messages postés
138
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
2 février 2010

Si tu regarde mon exemple tu n'aurais pas eu besoin de redonner ton login et password lors de la connection au LDAP

Myke
Messages postés
165
Date d'inscription
vendredi 9 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

Oui mais en fait çà ne marchera pas dans mon cas car le client qui se connecte est anonyme et en plus on peut accéder à mon applu depuis un PC et un PDA.

Merci de ton aide tout de même, çà en aidera d'autre

Bon week end Myke...