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

ASP.NET Discussion :

Protéger par login et password


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut Protéger par login et password
    Bonjour,
    Pour une page login, j'ai besoin de consulter une base de donnees pour savoir si le nom d'utilisateur et le mot de passe sont valides. Et si oui, elle me redirige vers une autre page recptrice!!!

    Comment faire ca en ASP.NET ??
    Merci

    Et dire qu'il y'a 1 mois je connaissais pas l'ASP.NET

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben tu fais un formulaire avec un champ login et un champ password, et lors de la validation du formulaire tu fais une requête sur ta base... Si tu ne dis pas ce qui te pose problème exactement, c'est difficile de t'en dire plus.

    Idéalement, pour bien s'intégrer dans le système de login de .NET, il faudrait implémenter un MembershipProvider. Voilà un tuto qui explique comment faire :
    http://ditch.developpez.com/aspnet2/membershipprovider/

  3. #3
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    J'ai pas visual basic voici ce que j'ai codé, vous verrez mieux mon problème
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <%@ import Namespace= "System.Data" %> 
    <%@ import Namespace= "System.Data.SqlClient" %> 
     
    <script language= "VB" runat= "server" > 
     Protected sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
     
    ' Etablissement de la Connection'
           Dim strConnection as String = "user id=sa;password=zain@toto;" 
           strConnection += "MyDataBase=MSIDB;server=MyServer;" 
           strConnection += "Connect Timeout=30" 
     
    	   Dim ConnectionOK as New SqlConnection ( strConnection ) 
     
    	      ConnectionOK.Open () 
     
    'Exécution dune requête SELECT'
           Dim CommandUser As New SqlCommand("select Login,PassUser,NomUser fromdbo.Utilisateur", ConnectionOK)
    	   Dim TheReader As SqlDataReader = CommandUser.ExecuteReader()
     
             if (zelogin.Text=="") then 'S il n y a pas de login '
             zaErrlogin.Text="Vous n'avez pas entrer de login"
     
             else zaErrlogin.Text=""
    		 end if
     
    		 if (zePass.Text=="") then  'S il n ya pas de passe'
             zaErrPass.Text="Vous n'avez pas entrer de mot de passe"
             else zaErrPrenom.Text=""
     
    	    end if
     
    	    while  TheReader.Read()
     
    		' Jaimerais faire une boucle qui vérifie si le login entré est identique à un login de la table Users'
    		' De meme si le Mot de passe est identique au mot de passe correspondant au login de la table'
    		' Puis envoié le nom grace à une variable de session à la page Home.aspx'
     
    		 if((String.Equals(zelogin.Text, TheReader(0)) && (String.Equals(zePass.Text, TheReader(1)) then
     
    		  session.add("Nom",TheReader(2)) 'Le nom du login correspondant au login dans la table'
              Response.Redirect("Data/Home.aspx")
     
    		  else
    		 Err.Text=" <h2> Identifiants Incorrects </h2>"
    		 end if
     
    		 End While
    		 Thereader.Close()
    		 ConnectionOK.Close()
     
    		  end sub
     
    </script>
     
    <html>
    <head>
    </head>
    <body>
    <form runat="server">
    <h1>(Utiliser un identifiant et un mot de passe corrects)</h1><br/>
    <!-- login -->
    <asp:Label id="zalogin" runat="server" text="Login:"></asp:Label>
    <asp:TextBox id="zelogin" runat="server"></asp:TextBox>
    <asp:Label id="zaErrlogin" runat="server" text=""/><br/>
     
    <asp:Label id="Err" runat="server" text=""></asp:Label>
     
    <!-- Mot de passe -->
    <asp:Label id="zaPass" runat="server" text="Mot de passe :"></asp:Label>
    <asp:TextBox id="zePass" runat="server"></asp:TextBox>
    <asp:Label id="zaErrPass" runat="server" text=""></asp:Label>
    <br />
    <asp:Button id="bEnvoi" onclick="Envoi" runat="server" text="Valider!"></asp:Button>
    </form>
    </body>
    </html>
    J'ai mis des commentaires pour mieux vous situez par rapport à ce que je voudrais réaliser. Inutile de vous dire que mon code ne compile pas, y'a tellement d'erreurs que je sais plas s'il faut rire ou en pleurer
    Merci d'avance!

  4. #4
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Deja sur le premier 'if' il ne comprend pas cette synthaxe. Je veux juste verifier si le label zelogin est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (zelogin.Text=="") then 'S il n y a pas de login '
             zaErrlogin.Text="Vous n'avez pas entrer de login"
    Puis lors de la comparaison, il m'affiche une belle erreur. Ici comme je l'ai expliqué dans mes commentaires je veux comparer le login et le mot de passe entrés avec chaque ligne de donnée correspondante au login et mot de passe de la table. S'il y'a égalité il recupère le nom de la colone NomUser correspondant au login, le stock dans une variable de session puis l'envoie en meme temps qu'il redirige l'utilisateur vers une autre page home.apsx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if((String.Equals(zelogin.Text, TheReader(0)) && (String.Equals(zePass.Text, TheReader(1))
    Mais je vois pas comment le faire

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Deja sur le premier 'if' il ne comprend pas cette synthaxe. Je veux juste verifier si le label zelogin est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (zelogin.Text=="") then 'S il n y a pas de login '
             zaErrlogin.Text="Vous n'avez pas entrer de login"
    Puis lors de la comparaison, il m'affiche une belle erreur. Ici comme je l'ai expliqué dans mes commentaires je veux comparer le login et le mot de passe entrés avec chaque ligne de donnée correspondante au login et mot de passe de la table. S'il y'a égalité il recupère le nom de la colone NomUser correspondant au login, le stock dans une variable de session puis l'envoie en meme temps qu'il redirige l'utilisateur vers une autre page home.apsx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if((String.Equals(zelogin.Text, TheReader(0)) && (String.Equals(zePass.Text, TheReader(1))
    Mais je vois pas comment le faire
    Ouais, Microsoft n'a pas encore inventé le VB# (mélange de VB et C#)

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 27
    Par défaut
    voila le code en vb
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <%@ import Namespace= "System.Data" %> 
    <%@ import Namespace= "System.Data.SqlClient" %> 
     
    <script language= "VB" runat= "server" > 
     Protected sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
     
    ' Etablissement de la Connection'
           Dim strConnection as String = "user id=sa;password=zain@toto;" 
           strConnection += "MyDataBase=MSIDB;server=MyServer;" 
           strConnection += "Connect Timeout=30" 
     
    	   Dim ConnectionOK as New SqlConnection ( strConnection ) 
     
    	      ConnectionOK.Open () 
     
    'Exécution dune requête SELECT'
           Dim CommandUser As New SqlCommand("select Login,PassUser,NomUser fromdbo.Utilisateur", ConnectionOK)
    	   Dim TheReader As SqlDataReader = CommandUser.ExecuteReader()
     
             if (zelogin.Text="") then 'S il n y a pas de login '
             zaErrlogin.Text="Vous n'avez pas entrer de login"
             else 
             zaErrlogin.Text=""
    		 end if
     
    		 if (zePass.Text="") then  'S il n ya pas de passe'
             zaErrPass.Text="Vous n'avez pas entrer de mot de passe"
             else 
            zaErrPrenom.Text=""
     
    	    end if
     
    	    while  TheReader.Read()
     
    		' Jaimerais faire une boucle qui vérifie si le login entré est identique à un login de la table Users'
    		' De meme si le Mot de passe est identique au mot de passe correspondant au login de la table'
    		' Puis envoié le nom grace à une variable de session à la page Home.aspx'
     
    		 if zelogin.Text= TheReader(0) and zePass.Text= TheReader(1) then
     
    		  session.add("Nom",TheReader(2)) 'Le nom du login correspondant au login dans la table'
              Response.Redirect("Data/Home.aspx")
     
    		  else
    		 Err.Text=" <h2> Identifiants Incorrects </h2>"
    		 end if
     
    		 End While
    		 Thereader.Close()
    		 ConnectionOK.Close()
     
    		  end sub
     
    </script>
     
    <html>
    <head>
    </head>
    <body>
    <form runat="server">
    <h1>(Utiliser un identifiant et un mot de passe corrects)</h1><br/>
    <!-- login -->
    <asp:Label id="zalogin" runat="server" text="Login:"></asp:Label>
    <asp:TextBox id="zelogin" runat="server"></asp:TextBox>
    <asp:Label id="zaErrlogin" runat="server" text=""/><br/>
     
    <asp:Label id="Err" runat="server" text=""></asp:Label>
     
    <!-- Mot de passe -->
    <asp:Label id="zaPass" runat="server" text="Mot de passe :"></asp:Label>
    <asp:TextBox id="zePass" runat="server"></asp:TextBox>
    <asp:Label id="zaErrPass" runat="server" text=""></asp:Label>
    <br />
    <asp:Button id="bEnvoi" onclick="Envoi" runat="server" text="Valider!"></asp:Button>
    </form>
    </body>
    </html>

  7. #7
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Que dire de vous Mr Ridamax
    Ce code passe super bien je suis très content

    Mais quelle balise permet en asp.net de faire apparaitre l'écriture d'un textbox crypté?
    Je veux parlé du champ du mot de passe, quand on rentre celui-ci il apparait en text au lieu d'apparaitre en passwd et je trouve pas sa sécurisant.
    Je sais qu'en html il suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="value"  type="password" name="value"/>
    stp et vraiment merci de tout coeur je sais pas quoi dire si ce n'est baptisé ma première appli en asp.net "Ridamax"

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T'as le droit de chercher un minimum sur google qd meme

  9. #9
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Merci du conseil lucetafalco, ce code m'a tellement mis dans mes humeurs que j'oubliais l'utilisté du forum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox id="zePass" runat="server" TextMode="Password"></asp:TextBox>


    Merci encore pout tout les amis!!!!

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 27
    Par défaut
    oui c'est vrais pour apprendre asp.net il faut que tu cherche si tu nas pas trouvé là en vas t'aidé avec plaisir
    le voila le code de textpassword en asp.net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Protéger une url par login + mot de passe
    Par grapheyes dans le forum Langage
    Réponses: 1
    Dernier message: 15/04/2011, 09h54
  2. Connexion 'login et password' par PopUp
    Par Alabama-song dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/07/2007, 12h48
  3. Idée sur Login et password
    Par STANDBOY dans le forum Access
    Réponses: 13
    Dernier message: 22/12/2005, 18h10
  4. [MFC] afficher une page web accessible par login
    Par hiko-seijuro dans le forum MFC
    Réponses: 6
    Dernier message: 31/08/2005, 18h32
  5. [debutant]Login et password d'une base
    Par laurence_92 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/02/2005, 15h54

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