Authentification

doudouastam Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 septembre 2009 - 16 avril 2008 à 10:54
doudouastam Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 septembre 2009 - 16 avril 2008 à 17:53
Bonjour à tous,

(j'ai placé ce sujet dans la section système/sécurité, n'hésitez pas à le déplacer si je me suis trompé.)

Je souhaite réaliser une authentification avec une base de données.
J'ai une page login.aspx, avec un nom, mot de passe et un bouton d'authentification.
J'ai aussi une page default.aspx.
Le problème ne vient pas de la fonction lorsque je clique sur le bouton, mais plutot du fichier web.config. Il m'indique que la section authentification n'est pas reconnue.

En effet, où faut-il placer le code suivant :

        <forms name="form1" loginUrl="login.aspx" timeout="20">
        </forms>
   
   
        <deny users="?" />

Faut-il le placer à l'intérieur des balises configuration du fichier web.config ? ou à l'extérieur ?

Je ne comprend pas nom plus l'utilité du name="form1"  Y a til un lien entre ce form1 et le nom du formulaire situé dans ma page login.aspx ?

La variable loginUrl indique que l'on reste sur la page login.aspx si l'on est pas authentifié, mais quand est il lorsque nous sommes authentifié ? Comment être redirigé vers la pages default.aspx ?

Et quelle page mettre en page de démarrage (je suppose login.aspx) ?

Merci d'avance popur vos réponses.

3 réponses

doudouastam Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 septembre 2009
16 avril 2008 à 11:07
Bon j'ai déja résolu une partie du problème

Le code d'authentification est à placer dans la balise.... authentification pré-inscrite (avec le mode ="windows" cependant)du fichier web.config
0
doudouastam Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 septembre 2009
16 avril 2008 à 11:57
Bon maintenant le problème vient de la fonction en réalité

Lorque je clique sur le bouton di'dentification ça appelle une fonction qui renvoi un booléen, true si la connexion (à la BDD) login+mot de passe est ok, false pr le reste.

voici la partie requête

 SqlCommand oCommand = new SqlCommand("SELECT * FROM Utilisateur WHERE Nom='" + strUtilisateur + "'", oConnexion);
        try
        {
            // Ouverture de la connexion et exécution de la requête
            oConnexion.Open();
            SqlDataReader drUtilisateur = oCommand.ExecuteReader();
            // Parcours de la liste des utilisateurs
            while (drUtilisateur.Read())
            {
                if (drUtilisateur["mdp"].ToString() == strMotDePasse)
                {
                    bOk = true;
 
                    break;
                }
            }
        }
        catch
        {
            bOk = false;
        }
        oConnexion.Close();
        return bOk;

Impossible de se logger, j'obtiens toujours un booléen false
Je pense que l'erreur vient de la ligne
       if (drUtilisateur["mdp"].ToString() == strMotDePasse)

car tout le reste je l'ai pompé sur http://dotnet.developpez.com/articles/authentification/

Je ne sais pas koi mettre à la place de "mdp"

Que faut il mettre ? le nom de la colonne mot de passe dans notre base de données ? L'ID du  mot de passe ?

Merci
0
doudouastam Messages postés 20 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 septembre 2009
16 avril 2008 à 17:53
J'ai résolu le problème, il faut simplement respecter la casse (miniscules/majuscules) des login et mot de passes.

J'ai donc fait un UPPER lors de l'enregistrement INSERT dans la bdd, et lors du login je fais un ToUpper() sur les TextBox

Voili voilou
0
Rejoignez-nous