IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Identification à partir d'un Active Directory


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 45
    Points : 45
    Points
    45
    Par défaut Identification à partir d'un Active Directory
    Bonjour,

    Je suis entrain de faire un site intranet qui peut être consulté à partir de l'extérieur mais pour cela il faut s'identifier.
    L'identification doit se faire via un Active Directory mais je n'y arrive pas. Je fais donc appel à votre aide puisqu'après plusieurs heures de recherches, je n'ai toujours pas trouvé la solution miracle.
    Donc voici le formulaire de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <asp:Table ID="TblLogin" runat="server" HorizontalAlign="Center">
                    <asp:TableRow>
                        <asp:TableCell ColumnSpan="2" HorizontalAlign="Center">Veuillez vous identifier avec vos identifiants de session windows</asp:TableCell>
                    </asp:TableRow>
                    <asp:TableRow>
                        <asp:TableCell HorizontalAlign="Left">Nom d'utilisateur : </asp:TableCell>
                        <asp:TableCell HorizontalAlign="Left"><asp:TextBox ID="txtLogin" runat="server" Width="200"/></asp:TableCell>
                    </asp:TableRow>
                    <asp:TableRow>
                        <asp:TableCell HorizontalAlign="Left">Mot de passe : </asp:TableCell>
                        <asp:TableCell HorizontalAlign="Left"><asp:TextBox ID="txtPassword" runat="server"  Width="200" 
                                                                           TextMode="Password"></asp:TextBox></asp:TableCell>
                    </asp:TableRow>
                    <asp:TableRow>
                        <asp:TableCell ColumnSpan="2" HorizontalAlign="Center">
                            <asp:Button id="btnConnexion" Text="Se connecter" runat="server" />
                        </asp:TableCell>
                    </asp:TableRow>
                </asp:Table>
    Ma classe Active Directory :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Imports Microsoft.VisualBasic
    Imports System.DirectoryServices
    Public Class ActiveDirectory
     
        Private o_Directory As DirectoryEntry
        Public Sub New(ByVal TheAdresseAccess As String, ByVal TheLogin As String, ByVal ThePassword As String)
            Try
                o_Directory = New DirectoryEntry("LDAP://" & TheAdresseAccess, TheLogin, ThePassword)
            Catch Ex As Exception
                MsgBox(Ex.Message)
            End Try
     
        End Sub
    Public Function Connexion(ByVal TheUser As String, ByVal ThePassword As String) As Boolean
            Dim Result As New DirectorySearcher(o_Directory)
            Result.Filter = "(SAMAccountName=" & TheUser & ")(password=" & ThePassword & ")"
            Dim Resultat As SearchResult = Nothing
            ' On exécute la recherche et on ne récupère que le premier élément retourné
            Try
                Resultat = Result.FindOne
            Catch ex As Exception
                MsgBox("Erreur Active Directory - Connexion impossible : " & ex.ToString)
            End Try
            Return IIf(Resultat Is Nothing, False, True)
        End Function
    End Class
    Et enfin le code qui est exécuté lors du clic sur le bouton du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim s_User As String = txtLogin.Text
            Dim s_Password As String = txtPassword.Text
            If s_User.Length > 0 And s_Password.Length > 0 Then
                Dim o_AD As New ActiveDirectory(WebConfigurationManager.AppSettings("ActiveDirectory"), _
                                                WebConfigurationManager.AppSettings("ActiveDirectory"), _
                                                WebConfigurationManager.AppSettings("ActiveDirectory"))
                If (o_AD.Connexion(s_User, s_Password)) Then
                        ... 
                End If
    Merci d'avance à ceux qui pourront m'aider.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Je pense que tu t'y prends mal.

    Pour moi la solution c'est de mettre une authentification windows sur le serveur IIS qui héberge ton site, ainsi quand tu essayeras de te connecter hors du domaine il devrait te demander ton authentification.

    Je ne pense pas que le password soit disponible via les requetes LDAP, ca semblerait louche.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    Le problème c'est que je ne sais pas comment est configuré le serveur.
    Merci quand même pour ta réponse.

    J'attends un peu voir si quelqu'un d'autre a une solution avant de le mettre en résolu.

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 126
    Points : 94
    Points
    94
    Par défaut
    je ne sais pas si tu as regarde mais dans les Source VB.nET du site il y en a concernant l'active directory.

    Mais bon, n'ayant jamais fait je ne sais pas si ca peut t'aider

    Ju
    Distillers Road --> Stronger Than Aquarius

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    Je l'ai déjà vu mais malheureusement, l'identification n'est pas expliquée.

Discussions similaires

  1. [MySQL] Mise à jour base de données à partir d'un Active Directory
    Par Arkodath dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/06/2015, 15h09
  2. Connexion à Active Directory à partir de VB.Net
    Par matgnoah dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/02/2011, 16h58
  3. Récupération d'information à partir de l'Active Directory
    Par lesanglier dans le forum SharePoint
    Réponses: 4
    Dernier message: 16/12/2009, 14h33
  4. identification auto active directory
    Par philippe123 dans le forum Langage
    Réponses: 5
    Dernier message: 15/06/2006, 23h56
  5. Réponses: 1
    Dernier message: 09/06/2006, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo