Accueil > Forum > > > > récupérer infos ActiveDirectory pour utilisateur courant
récupérer infos ActiveDirectory pour utilisateur courant
mercredi 9 mai 2007 à 11:39:05 |
récupérer infos ActiveDirectory pour utilisateur courant

Onizukasan
|
Bonjour à tous,
tout d'abord j'utilise Visual Studio .NET 2003 et framework 1.1
je souhaite mettre en place une gestion des droits d'accès sur une application web. les utilisateurs étant déjà identifiés (ils ont déjà entrés leurs identifiants sur windows et sont référencés sous Active Directory implanté sur le réseau Intranet), il n'est donc pas nécessaire de les faire retaper des mots de passe à l'arrivée sur le site. Ainsi je souhaite pour établir un controle transparent pour l'utilisateur. Je souhaite récupérer les données de l'utilisateur qui se connecte, notamment son login Active Directory (le SAMAccountName si je ne me trompe pas). Or tout ce que j'ai trouvé au sujet d'active directory et de diverses méthodes d'accès à celui-ci permet de manipuler les entrées active directory mais pas d'obtenir les informations que je souhaite pour l'utilisateur courant.
Existe il des méthodes ou des propriétés issues du framework ou du server IIS pour obtenir le login Active Directory de l'utilisateur connecté ? ( genre System.Environment.UserName )
L'espace de noms System.DirectoryServices me permettrait-il de résoudre mon problème ou ne sert-il qu'à effectuer des recherches et à manipuler les entrées AD ?
En esperant que tout cela vous inspire et merci de m'avoir lu en tout cas.
|
|
mercredi 9 mai 2007 à 13:29:34 |
Re : récupérer infos ActiveDirectory pour utilisateur courant

zuff
|
Je travail pas mal avec Active directory pour les applis Intranet donc voici une premier code pour récuperer l'indentifiant window (attention il y a une case à cocher sur IIS pour pouvoir récupere les ServerVariables):
Dim
user
As
String
' Authentification Digest sur iis
user = Request.ServerVariables(
"REMOTE_USER"
)
Dim
RecupUser()
As
String
RecupUser = user.Split(
"\"
) user = RecupUser(RecupUser.Length - 1)
Ensuite j'ai une classe ActiveDirectory que je déclare ensuite
Dim objPersonne AsNew clsActiveDirectory (user) ' verif les autorisations If objPersonne.AppartientA(user, WebConfigurationManager.AppSettings("Applicatif").ToString) = FalseThen Response.Redirect("Refus.aspx") EndIf cette vérif permet de savoir si la personne appartient au groupe d'utilisateurs qui ont droit d'utiliser l'appli Intranet.
voici pour info mes 2 méthodes utilisées de ma classe :
PublicSub New(ByVal LeLogin AsString)' Cherche les Informations Sur le Compte suivant le Login Transmis Dim searcher AsNew DirectorySearcher(rootEntry)' Mettre ici les valeurs des différents attributs searcher.PropertiesToLoad.Add("cn") searcher.PropertiesToLoad.Add("givenname") searcher.PropertiesToLoad.Add("sn")
searcher.Filter = "(&(anr=" & LeLogin & ")(objectCategory=person))"Dim results As SearchResultCollection results = searcher.FindAll()If results.Count > 0 Then Dim result As SearchResult ForEach result In results LoginRecherche = CStr(result.Properties("cn")(0)).ToUpper CheminPersonneRecherche = CStr(result.Path)
Try NomRecherche = Trim(CStr(result.Properties("sn")(0))).ToUpper Catch ex As Exception NomRecherche = "" EndTry
Try PrenomRecherche = Trim(CStr(result.Properties("givenname")(0))) Catch ex As Exception PrenomRecherche = "" EndTry Next EndIfEndSub
PublicFunction AppartientA(ByVal LeLogin AsString, ByVal NomGroupe AsString) AsBoolean ' recherche les groupes de la personne Dim searcher AsNew DirectorySearcher(rootEntry)
searcher.PropertiesToLoad.Add("memberOf") searcher.Filter = "(&(anr=" & LeLogin & ")(objectCategory=person))" Dim results As SearchResultCollection results = searcher.FindAll() Try If results.Count > 0 Then Dim result As SearchResult ForEach result In results Dim NbCollection AsInteger NbCollection = result.Properties("memberOf").Count For i AsInteger = 0 To NbCollection - 1 Dim CheminGroupe AsString = Trim(CStr(result.Properties("memberOf")(i))) If CheminGroupe.IndexOf(WebConfigurationManager.AppSettings("LDAPGroupes").ToString) >= 0 Then CheminGroupe = "LDAP://" & CheminGroupe Dim groupEntry As DirectoryEntry = New DirectoryEntry(CheminGroupe) ' renvoi oui s'il appartient au groupe If groupEntry.Name.IndexOf(NomGroupe) >= 0 Then ReturnTrue EndIf EndIf Next Next EndIf Catch ex As Exception EndTry
ReturnFalse EndFunction
|
|
lundi 28 juillet 2008 à 08:19:29 |
Re : récupérer infos ActiveDirectory pour utilisateur courant

Djodu69
|
Bonjour,
Ton code est fort intéressant et va dans le sens de ma recherche. As ton avis est il aussi possible de gérer des droits avec les groupes d'AD, notamment sur des objets "menu" ?
Merci par avance
|
|
lundi 28 juillet 2008 à 09:07:26 |
Re : récupérer infos ActiveDirectory pour utilisateur courant

Djodu69
|
Autre souci. VS2008 ne reconnais pas le clsActiveDirectory de "Dim objPersonne As New clsActiveDirectory(utilisateur)" Y-a t'il un namespace spécifique a importer ?
|
|
lundi 28 juillet 2008 à 10:30:16 |
Re : récupérer infos ActiveDirectory pour utilisateur courant

zuff
|
Excuse, clsActiveDirectory est une classe que j'ai créé dans App_Code car je fais beaucoup de chose avec l'Active Directory. Pour ta classe, il faut : Imports System.Web.Configuration Imports System.DirectoryServices
et le DirectoryServices doit être monté dans ton web.config en rajoutant la référence .Net.
Pour les droits pas de problème avec les groupes, personnellement c'est ce que je fais avec mes applicatifs Intranet.
|
|
lundi 28 juillet 2008 à 13:56:28 |
Re : récupérer infos ActiveDirectory pour utilisateur courant
|
lundi 28 juillet 2008 à 14:26:25 |
Re : récupérer infos ActiveDirectory pour utilisateur courant

Djodu69
|
Mon problème maintenant est comment gérer les rôles et les droits pour les utilisateurs ? Sachant que j'ai un menu créé sur une base xml (sitemap) et que donc mes utilisateurs sont stockés sur l'AD ?
merci par avance
|
|
jeudi 31 juillet 2008 à 08:10:55 |
Re : récupérer infos ActiveDirectory pour utilisateur courant
|
Cette discussion est classée dans : récupérer, utilisateur, souhaite, active, directory
Répondre à ce message
Sujets en rapport avec ce message
Groupes Active Directory [ par arkel ]
Salut,J'essaie de récupérer la liste des membres qui composent un groupe de l'Active Directory Windows 2000.... mais j'ai quelques petits problèmes.Po
informations sur un utilisateur dans l'active directory de Win2000 [ par stefdef ]
Comment fait-on pour récupérer par exemple l'email d'un utilisateur précis dans l'active directory???(je suis débutant en asp, alors merci d'etre clai
Utilisateur "Inactif" sur Active directory [ par neferti ]
Bonjour,Je suis actuellement en stage et je souhaiterais savoir s'il est possible de mettre un objet de la classe User en statut inactif et de l'activ
Récupérer les groupes d'Active Directory avec ASP.Net [ par komisarek ]
BonjourJ'aimerais savoir comment récupérer les groupes d'Active Directory avec ASP.NET.Je trouve beaucoup d'infos sur le sujet en ce qui concerne les
ADSI (Active Directory) : Récupérer Nom du "Manager" d'un groupe [ par Boreux ]
Active Directory Role [ par jostag ]
Bonjour a tous,je fais présentement mon travail de fin de DEC en programmation et j'ai décidé de faire un projet asp.net (vb ou c#, j'ai pas encore ch
Active directory the serveur is not operationnal [ par jostag ]
Bonjour,j'ai une application web créé en vb.net 2003.Dans cette application, il est question d'authentification d'utilisateur a partir de l'active dir
sharepoint [ par pathy03 ]
Bonjour c'est patick je suis entrain de faire un travail sur le sharepoint et jusque la je ne parviens pas a comprendre comment est ce que on peut a
Enregistrement dans Active directory [ par Cipoli ]
Bonjour à tous, Je suis très embêté, je ne trouve aucun document concernant la création d'un enregistrement dans l'Active directory de microsoft 2003
Popup récuperer temps selectionné [ par furion01 ]
Bonsoir,Je code une application web qui trace des courbes en asp et je doit récupérer deuxtemps que l'utilisateur choisi correspondant a la date de dé
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|