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 :

[1.1] Authentification par formulaire


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [1.1] Authentification par formulaire
    Bonjour

    Je suis débutant en ASP.NET. Je désire faire une simple authentification par formulaire.
    Ayant suivit de tutorial http://dotnet.developpez.com/tutorie...hentification/ je place donc dans mon fichier web.config les 3 lignes suivantes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <authentication mode="Forms">
      <forms name="LGAMM" loginUrl="login.aspx" protection="All" path="/" />
    </authentication>
    Je créer une page login.aspx, qui contient comme code derriere un bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Dim MyCon As New SqlConnection
            MyCon.ConnectionString = ("user id=" & Username.Text & ";password=" & userpassword.Text & ";initial catalog=LogAsp;data source='AFIB-JEROME'")
            Try
                MyCon.Open()
            Catch ex As SqlException
                Label3.Text = ex.Message
            End Try
            If MyCon.State = ConnectionState.Open Then
                Session.Add("username", Username.Text)
                Session.Add("userpassword", userpassword.Text)
                FormsAuthentication.RedirectFromLoginPage(Username.Text, False)
            End If
    Et une page Mainmenu.aspx

    Systeme :
    WinXP pro
    .net framework 1.1
    visual studio 2003 EE

    Le probleme :
    Et bien ca ne marche pas tout simplement. Si j'autorise l'accés anonyme au site dans IIS, on peut charger directement mainmenu.aspx, sans etre renvoyé a la page de login. Si je ne l'autorise pas, on ne peut accéder a rien.

    Je genere mon projet. Je vide mes cookies de mon IE. Je tape l'url 127.0.0.1/LGAMM/mainmenu.aspx ... et ca m'ouvre mainmenu.aspx sans probleme.

    Quelqu'un voit il d'ou cela peut venir ? Un oublie dans mon code ? Une erreur de configuration de IIS ?

    Edit : Et pourquoi mes balises semblent ne rien faire ?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour
    Si j'autorise l'accés anonyme au site dans IIS, on peut charger directement mainmenu.aspx, sans etre renvoyé a la page de login. Si je ne l'autorise pas, on ne peut accéder a rien.
    Déjà en effet il ne faut pas authoriser l'accés anonyme ; ce qui se configure aussi dans le Web.config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <authorization><deny users="?" />
    </authorization>
    Ensuite bien évidemment à moins d'avoir créer des droits pour tous les users chaque connecté est tout d'abord considérer comme anonyme dont je te conseille de verifier dans ta base l'authentification en te connectant sous ton droit d'administrateur
    Confère le tutoriel que tu as étudié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <credentials passwordFormat="MD5">
    <user name="christian" password="7FF135854376850E9711BD75CE942E07" />
    </credentials>
    Bien que je n'ai pas exactement utilisé cette méthode dans mes appli web
    j'ai developpé des choses approchantes qui ont toujours nécessiter cette solution afin d'éviter tout problème (la chaine de connection contenant le user et mot de passe de l'administrateur ou ayant droit equivalent sur sqlserver)
    en espérant ne pas avoir répondu à côté
    neguib
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, ca marche maintenant.

    Il fallait donc que mon IIS autorise l'accés anonyme, mais (ce que j'oubliais) que mon Webconfig l'interdise.

    <authorization><deny users="?" />
    </authorization>

    Inutile en revanche de renseigner des utilisateurs dans le web config. Mes utilisateurs non reconnu (tous donc) sont renvoyés a login.aspx, ou je suis libre de les identifier comme bon me semble.

    C'est parfait, merci beaucoup.

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

Discussions similaires

  1. Authentification par formulaire
    Par IcedLand dans le forum ASP.NET
    Réponses: 17
    Dernier message: 20/07/2009, 15h38
  2. Réponses: 2
    Dernier message: 09/03/2009, 16h54
  3. Authentification par formulaire et base de donnée
    Par tortuegenie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 11/06/2008, 20h09
  4. Réponses: 3
    Dernier message: 23/11/2007, 12h50
  5. Réponses: 7
    Dernier message: 22/08/2007, 09h43

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