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 :

Mode d'Authentication Web.config


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 76
    Par défaut Mode d'Authentication Web.config
    Bonjour,

    j'ai développé un extranet sous VS 2003 et ASP.NET.

    le mode d'authentication dans le web.config est mis à Forms
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <authentication mode="Forms"> 
          <forms loginUrl="Index.aspx" timeout="10"></forms>
    </authentication>
    dans a page Index, je demande un accès par login et mot de passe stocké dans une base SQL.
    si l'utilisateur est identifié les choses se passent bien.
    sinon il a droit à trois tentative avant d'atterrir sur une page de mot de passe nommé L_ASK_PASS.aspx. le code est déclenché au click sur un bouton Connection.
    voici le code de ce bouton :
    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
     
        Private Sub Btn_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Connect.Click
            Dim myConnString As String = System.Configuration.ConfigurationSettings.AppSettings("Connectionstring2")
            Dim myConnection As New SqlConnection(myConnString)
            Dim Profil As String
            Dim i As Integer
            Dim mySelectQuery As String
            mySelectQuery = "SELECT dbo.UTILISATEURS.* "
            mySelectQuery = mySelectQuery + " FROM  dbo.UTILISATEURS "
            mySelectQuery = mySelectQuery + " WHERE dbo.UTILISATEURS.NOM='"
            mySelectQuery = mySelectQuery + Trim(T_USER.Text) + "' AND dbo.UTILISATEURS.MDP='" + T_Password.Text + "'"
            mySelectQuery = mySelectQuery + " ORDER BY ID "
            myConnection.Open()
            Dim myCommand As New SqlCommand(mySelectQuery, myConnection)
            Dim myReader As SqlDataReader = myCommand.ExecuteReader()
            Dim x As Integer
            If IsPostBack Then
                If Session("blocage") = 2 Then
                    Response.Redirect("L_ASK_PASS.aspx")
                End If
            End If
            If myReader.Read = False Then
                L_Error.Visible = True
                Session("blocage") = Session("blocage") + 1
                Session("tent") = Session("tent") + 1
                If Session("tent") = 1 Then
                    x = 2
                ElseIf Session("tent") = 2 Then
                    x = Session("tent") - 1
                ElseIf Session("tent") = 3 Then
                    x = Session("tent") - 2
                End If
                L_Error.Text = "L'une des saisies est incorrecte !!!!!, il vous reste " & x & " tentatives"
            Else
                FormsAuthentication.RedirectFromLoginPage(T_USER.Text, False)
                Profil = myReader.GetString(3)
                Session("NOMPER") = myReader.GetString(1)
                Session("PREPER") = myReader.GetString(2)
                Session("UTIL") = myReader.GetString(3) ' variable Profil (PROFIL dans Table UTILISATEURS)
                Session("CLT") = myReader.GetString(4)  ' variable client (NOM_CLT dans Table UTILISATUERS) 
                Session("MDP") = myReader.GetString(5)
                Session("LOGIN") = Me.T_USER.Text
                Select Case Profil
                    Case "Nazca" : Response.Redirect("L_GLOBAUX.aspx") 'Session amdinistrateur
                    Case "MultipleF" : Response.Redirect("L_TL_NAZCA.aspx") 'Session TL Fabrice
                    Case "MultipleG" : Response.Redirect("L_TL_NAZCA.aspx") 'Session TL GAMAL
                        'Case "Client" : Response.Redirect("L_CLIENT.aspx") ' Session Client
                    Case "Client" : Response.Redirect("L_INTER.aspx")
                    Case Else : Response.Write("Aucun profil détécté, veuillez contacter le support technique")
                End Select
            End If
        End Sub
    Mon Problème
    Quand l'utilisateur est identifié tout se passe bien
    Quand l'utilisatse trompe après 3 tentatives, la redirection ne se fait pas et dans la barre d'adresse d'IE, j'ai le lien suiavnt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    https://www.nazca-france.com/EXTRANET_CLIENT/Index.aspx?ReturnUrl=%2fextranet_client%2fL_ASK_PASS.aspx
    alors que je dois avoir ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    https://www.nazca-france.com/EXTRANET_CLIENT/L_ASK_PASS.aspx
    vous pouvez faire un test en allant vers le lien donné plus et faire le test en laissant le logne et le mot de passe vide et vous verrez par vous même.

    j'ai changé le mode d'authentication en Windows et là il me demande un login et un mot de passe windows et en cliquent sur OK il me sort le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Erreur du serveur dans l'application '/EXTRANET_CLIENT'.
    --------------------------------------------------------------------------------
     
    Accès refusé. 
    Description : Une erreur s'est produite lors de l'accès aux ressources requises pour répondre à cette demande. Le serveur n'est peut-être pas configuré pour accéder à l'URL demandée. 
     
    Message d'erreur 401.2.: Vous ne disposez pas des autorisations pour afficher ce répertoire ou cette page à l'aide des informations d'authentification que vous avez fournies. Contactez l'administrateur du serveur Web pour obtenir de l'aide.
     
     
    --------------------------------------------------------------------------------
    Informations sur la version : Version Microsoft .NET Framework :1.1.4322.573; Version ASP.NET :1.1.4322.573

    Quelqu'un pourrait me ire comment résoudre ce problème ?

    Merci pour votre aide

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Première remarque, assez grave, tu fait du sql dans du code behind. Je te conseille vivement de jetter un oeil à l'architecture 3-tiers.

    Ensuite, pourquoi n'utilises-tu pas l'authentification via les providers prévus par ASP.NET? Tu peux les customiser.

    Et enfin, pour réponre à ta question, tu ne peux accéder à la page de récupération de mot passe car selon la façon dont tu as configuré ton site, il faut être loggué pour y accéder, ce qui n'est évidement pas le cas.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 76
    Par défaut
    Citation Envoyé par neptune Voir le message
    Première remarque, assez grave, tu fait du sql dans du code behind. Je te conseille vivement de jetter un oeil à l'architecture 3-tiers.
    Je jetterais un coup d'oeil après pour améliorer la chose.

    Ensuite, pourquoi n'utilises-tu pas l'authentification via les providers prévus par ASP.NET? Tu peux les customiser.
    Je ne vois pas de quoi tu parles

    Et enfin, pour réponre à ta question, tu ne peux accéder à la page de récupération de mot passe car selon la façon dont tu as configuré ton site, il faut être loggué pour y accéder, ce qui n'est évidement pas le cas.
    qu'est ce que tu me propose comme solution pour solutionner l souci dans l'urgence.

    Merci

  4. #4
    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
    Tu dois rendre la page L_ASK_PASS.aspx publique

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 76
    Par défaut
    Bonjour Lutecefalco

    Citation Envoyé par lutecefalco Voir le message
    Tu dois rendre la page L_ASK_PASS.aspx publique
    Je suis désolé mais comment pourrais-je la rendre public.

    Merci

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 76
    Par défaut
    Neptune,

    je suis en ASP.NET 1.1, je ne panse pas que ce lien me servirait. mais je laisse de côté. on sais jamais.

    merci

    Merci

  8. #8
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Les droits en asp.net sont fixés sur les répertoires et non sur les pages elles-mêmes.
    Donc si ta page Index et ta page L_ASK_PASS sont dans le même répertoire, l'accès à L_ASK_PASS nécessite une authentification, d'où ton problème.

    Pour la rendre publique, il faut que tu la sortes du répertoire au sein duquel les pages nécessitent d'être authentifié.

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

Discussions similaires

  1. Paramètrage Web.config authentication authorization
    Par MdoDev dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/11/2007, 21h01
  2. Réponses: 4
    Dernier message: 19/12/2006, 13h25
  3. [WebForms][Web.config] Stocker les chaine de connexion
    Par bossun dans le forum Général Dotnet
    Réponses: 15
    Dernier message: 19/08/2005, 15h34
  4. [CR][ASP.Net]Connection base de données / web.config
    Par Dozer71 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 10/05/2005, 08h41
  5. [C#] Section appSettings du fichier Web.config
    Par pbo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/02/2005, 10h12

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