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 :

[C#] Authentification login/password


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut [C#] Authentification login/password
    Je veux faire une page de connexion pour accéder par la suite à des pages sécurisés.

    J'aimerais faire une fenetre qui permette l'authetification des utilisateurs avec un nom d'utilisateur et un mot de passe.

    J'ai toruvé ce que je voulais faire en visitant ce lien http://blog.developpez.com/index.php?blog=9&m=20041018

    Mais je ne comprend pas comment ouvrir la fenetre de connexion.

    J'ai déjà essayer de mettre le code dans mon code behind ou dans un fichier classe à part mais rien ne se passe quand je fais appel au code. De plus la méthode "handle" et "MessageBox.show" ne sont pas connu dans les web form mais seulement dans les winform. Donc je me demande si ce code ne peut etre utiliser qu'evec des winform?

    Merci d'avance pour vos réponses

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Par défaut
    en fin d'article , ya ecrit :

    A noter: Cela n'est valable que sur Windows XP et Windows 2003
    Donc je ne pense pas que cela soit valable pour les webforms ( c'est en tout cas mon opignon )

    Cela dit , tu peux attendre que Morpheus passe pour donner son avis ... ( c'est son article apres tout )

  3. #3
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    Citation Envoyé par maxonman
    en fin d'article , ya ecrit :

    A noter: Cela n'est valable que sur Windows XP et Windows 2003
    Donc je ne pense pas que cela soit valable pour les webforms ( c'est en tout cas mon opignon )

    Cela dit , tu peux attendre que Morpheus passe pour donner son avis ... ( c'est son article apres tout )
    ça n'a rien à voir c'est une indication sur le système d'exploitation pour avoir la bonne dll -> credui.dll qui doit exister je pense que pour ces deux système d'exploitation.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Par défaut
    comment vas tu faire , si un utilisateur veut acceder a tes pages a partir d'un autre systeme d'exploitation ?

  5. #5
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    mes pages web vont se trouver sur mon serveur ainsi que la dll donc ça ne dépend pas du système d'exploitation de l'utilisateur. Normalement ça devrai se passer comme ça. Il n'y aura pas de soucis de ce coté là.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Par défaut
    espérons le ... ( en tout cas je l'espere pour toi )

  7. #7
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    Pour l'instant je fais une page login.aspx qui contient un formulaire qui vérifie si le login et le mot de passe sont correct (avec mot de passe crypté dans ma base de donnée) . si c'est bon je redirige vers une page client.aspx.

    Mais l'accés à cette page n'est pas du tout sécurisé puisque en tapant l'url sans passer par login.aspx je peux visualiser cette page. Comment faut il faire pour obliger de s'identifier avant d'accéder à la page?

  8. #8
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    il faut que dans le web.config tu mets ceci
    <authentication mode="Forms">
    <forms name="appliUser" loginUrl="login.aspx" protection="All" timeout="30" path="/">
    <!-- protection="[All|None|Encryption|Validation]" -->
    </forms>
    </authentication>

    à chaque fois que quelqu'un voudra se connecter à ton site il sera forcément obliger de passer par ta page de login.

    Sinon tu peux tester si dans ta page que tu veux protéger si le client est bien passé par ta page de login grâce à une variable session ou bien un cookie.

  9. #9
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    En fait, je realise une application dans laquelle le client doit etre identifié forcement sur certaines pages et pas sur d'autres.
    J'ai un repertoire qui contient toutes les pages de mon site qui sont libre d'accés et j'ai créer un sous repertoire pour les pages qui demande une authentification.

    Dans la config d'IIS j'ai donc créé un sous répertoire virtuel dans le repertoire contenant les pages libre d'accès.

    Comme idientification j'utilise un formulaire avec vérification des données dans une base SQL Server 2000.
    J'ai donc deux fichiers Web.config : un pour lequel la section authentication contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     <authentication mode="Forms"> 
    		<Forms loginUrl="logon.aspx"  timeout="15" />
    	</authentication>
    et un autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <authentication mode="Windows" />
    Le probleme c'est que quand je clique sur le lien pour aller vers ma page d'identification j'obtiens l'erreur suivante :
    Il est erroné d'utiliser une section inscrite en tant que allowDefinition='MachineToApplication' au-delà du niveau de l'application. Cette erreur peut être causée par un répertoire virtuel qui n'est pas configuré comme une application dans IIS. au niveau de <authentication mode = "Forms" />.
    Si vous avez la solution...........

  10. #10
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    Je comprend pas comment faire pour obliger à s'identifier pour consulter certaine pas du site!!
    J'ai dans mon fichier web.config le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <authentication mode="Forms">
        <forms loginUrl="logon.aspx" timeout="15"></forms>	
    	</authentication>
     
    <location path="secure" allowOverride="false">
    	<system.web>
    	  <authentication mode="Forms"> 
    		<forms loginUrl="./secure/logon.aspx"  timeout="15" />
    	  </authentication>
    		<authorization>
    			<deny users="?" />
    		</authorization>
    	</system.web>
     </location>
    J'accéde à mon formulaire à partir de ma page d'accueil (libre d'accès)
    j'ai stocké les login et mot de passe crypté dans ma base de donnée sql server
    Je m'identifie avec mon formulaire et apres j'arrive sur la page "accueilsecure.aspx"

    Le probleme c'est que cette page est pas du tout securisé puisque je peux y accéder en mettant son url.........
    Je comprend pas comment ça fonctionne??

    Mais j'ai toujours ce message d'erreur qui apparait:
    Erreur de configuration
    Description : Une erreur s'est produite lors du traitement d'un fichier de configuration requis pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre fichier de configuration de manière appropriée.

    Message d'erreur de l'analyseur: Il est erroné d'utiliser une section inscrite en tant que allowDefinition='MachineToApplication' au-delà du niveau de l'application. Cette erreur peut être causée par un répertoire virtuel qui n'est pas configuré comme une application dans IIS.

    Erreur source:


    Ligne 81 : <location path="secure" allowOverride="false">
    Ligne 82 : <system.web>
    Ligne 83 : <authentication mode="Forms">
    Ligne 84 : <forms loginUrl="./secure/logon.aspx" timeout="15" />
    Ligne 85 : </authentication>
    AIDEZ MOI

  11. #11
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    dans l'erreur il est dit que ton repertoire virtuel n'est pas configuré comme une application dans IIS. tu as vérifié ca se trouve c'est le cas.

  12. #12
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    J'avais tourné le probleme dans tout les sens mais rien n'y faisait mais j'avais pas penser à apeler mon repertoire virtuel au lieu de mon repertoire que je voulais sécurisé, c'etait tout simple encore une fois, c'est rageant!!!

    Mais j'ai l'impression que ça ne fait rien mon fichier web.config car je peux accéder à toutes les pages que je veux dans mon repertoire (sois disant sécurisé par formulaire) quand je tape l'url..

    Qu'est ce qu'il faut faire pour n'accéder à cette page que SI on est identifié?
    Passer l'identifiant en parametre de l'url?

  13. #13
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    dans la page de login tu rajoutes une gestion de cookie ou bien un variable session qui te permet de savoir si l'utilisateur est bien loggué.
    si ca n'est pas le cas tu le rediriges sur ta page de login.
    c'est ce qu'il y a au dessus que tu as mis dans ton web.config?

  14. #14
    Membre confirmé Avatar de liliprog
    Inscrit en
    Juillet 2004
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 135
    Par défaut
    Je dois donc vérifier dans chaque page que je veux protéger que la personne est bien connecté?
    il y a une difference entre cookie et session?

  15. #15
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    Mais ca ne fonctionne vraiment pas l'authentification avec formulaire. parce que ca marche sur le même principe que je viens de t'expliquer sauf que c'est transparent pour toi.

    tu as les cookies de session qui sont supprimés quand tu fermes ton navigateur et les cookies permanents qui sont stockés sur le disque de l'utilisateur et dans lequel tu mets 2,3 infos pas sensibles.

    les variables de session durent le temps d'une session qui est paramétré dans IIS.

    les variables session sont plus simples d'utilisation que les cookies.

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

Discussions similaires

  1. Probleme authentification login+password
    Par hassh dans le forum Web
    Réponses: 2
    Dernier message: 01/07/2006, 13h38
  2. Interface login password
    Par liverbird dans le forum C++
    Réponses: 6
    Dernier message: 08/06/2006, 13h13
  3. [inernet][WinXp] probleme de login password
    Par gentarik dans le forum Windows XP
    Réponses: 3
    Dernier message: 22/02/2006, 16h25
  4. Enregistrer les infos login/password sur le client
    Par SheikYerbouti dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/04/2005, 09h29
  5. Login Password par défaut
    Par YanK dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/09/2003, 14h34

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