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 :

Authentification bizarre sur serveur distant


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut [Résolu] Authentification windows sur Appli web VB.NET
    Et oui, c'est encore moi. Que de problèmes sur mon appli web en VB.NET.


    Voici le procédé : une personne, connectée à une session windows, accède à mon appli intranet. Automatiquement, l'appli trouve son WindowsIdentity.GetCurrent.Name et me permet d'afficher la page qui va bien.

    Pour ce faire, j'ai indiqué dans mon fichier web.config les balises
    <authentication mode="Windows" />
    <identity impersonate ="true" />

    J'avoue ne pas bien comprendre ces deux balises. Toutefois, en localhost, selon fonctionne très bien. Mon appli réagit bien. Même les postes distants qui se connecte à mon IIS local affiche bien leurs pages associées.

    Suite à un déploiement sur un serveur de recette, il s'avère que j'ai une bizarrerie : quand j'accède à l'appli sur le serveur distant, j'ai une fenêtre windows de connexion avant l'affichage de la page.
    J'ai rentré les codes administrateurs pour voir la page et là, il s'avère que l'utilisateur de la machine "cliente" n'est pas détecté. Tous les champs où le nom doit apparaitre sont blancs (et correspondent probablement à ceux de l'admin).

    Du coup, j'ai du mal à comprendre ce qui peut donner un comportement différent entre mon serveur local et le serveur de recette, à savoir que le framework local est 1.1 et le framework de recette est 2.
    De plus, le IIS local est sous XP, tandis que celui de recette est sous 2000. Toutefois, ils sont tous les deux en v6.

    Avez-vous une solution ? Je suis un peu "perdu" dans les comptes associés, utilisés....

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <authentication mode="Windows" />
    Signifie que tu utilises une authentification Windows (ideal pour un intranet).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <identity impersonate ="true" />
    signifie que tu utilise un emprunt d'identité. si tu accède a une ressource via IIS, le serveur utiliisera le compte ASPNET pour y accéder. Avec ce parametre tu spécifies que tu dois utiliser le compte avec lequel tu es authentifié.

    Ceci est interessant si tu désactive l'accès annonyme à ton site et que l'authentification est verifiée par windows...
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut
    Ok d'ac, ça, j'ai bien compris.

    Mais ça n'explique pas pourquoi, quand je veux charger la page avec :

    http://ipduserveur/nomdelappli

    j'aboutis d'abord à une fenêtre d'alerte qui me demande un login et mot de passe pour pouvoir accéder à la page du serveur (alors qu'en localhost, cela fonctionne très bien lorsqu'un pc distant tape http://<ipdupcdedeveloppement>/nomdelappli ).

    Un coup de main est indispensable.

  4. #4
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu dois être authentifié auprès du serveur... L'authentification est déléguée à AD si tu as un domaine AD...


    Comment est organisé ton réseau intranet?
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut
    Ben, avant d'intégrer l'authentification windows, je pouvais accéder à l'appli sans avoir besoin de me connecter au serveur. En tapant l'url directe, c'était ok tout de suite.

    Je tapais l'url, et j'aboutissais à mon application, sans cette popup de connexion. C'est pour ça que je pense que le paramétrage de mon application n'est pas correct. Peut-être le web.config ?


    Que te dire sur le réseau intranet : j'ai mon poste de dev avec un IIS local pour tester. J'ai un serveur distant avec IIS et d'autres appli intranet (mais pas .NET). Les pc du réseau peuvent accéder à mon appli sur mon IIS, mais ça foire (avec la popup), alors que directement sur mon poste en passant par "localhost", ça fonctionne....

    Une idée de génie pour me débloquer ? ou du moins, mon client ? lol

  6. #6
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    montre moi ton web.config

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Les pc du réseau peuvent accéder à mon appli sur mon IIS, mais ça foire (avec la popup), alors que directement sur mon poste en passant par "localhost", ça fonctionne....
    Normal... Les autres pc qui accèdent à ton appli sur ton iis de dev, ne sont pas authentifiés sur ta machine...



    Pour ne pas avoir ce message sur ton iis de production, tu dois enlever l'accès annonyme et mettre authentification windows (je pense que tu l'as déjà fait)....
    de plus tes clients doivent avoir ouvert un session dans ton domaine....
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut
    <authentication mode="Windows"/>
    <identity impersonate="true"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <authorization>
            <deny users="?" />
            <allow users="*" />
                <!--  <allow     users="[liste des utilisateurs séparés par une virgule]"
                                 roles="[liste des rôles séparés par une virgule]"/>
                      <deny      users="[liste des utilisateurs séparés par une virgule]"
                                 roles="[liste des rôles séparés par une virgule]"/>
                -->
     </authorization>
    => Voilà la partie concernant la sécurité dans mon web.config.
    Je vais voir pour l'accès anonyme du IIS de recette.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    de plus tes clients doivent avoir ouvert un session dans ton domaine....
    Que signifie cette phrase ? J'ai des utilisateurs d'un domaine A, d'autres d'un B. Et mon serveur est dans le domaine B. Cela signifie que ceux du A ne pourront pas accéder à l'appli ?

  8. #8
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    mets moi tout ton fichier de config en enlevant les informations sensibles (mot de passe et Cie)


    de plus tes clients doivent avoir ouvert un session dans ton domaine....
    ça veut dire que tes utilisateurs doivent etre authentifiés dans ton domaine B...

    Si tu as 2 domaines ça devient une question de réseau.. il faut que le serveur IIS puisse verifier l'identité des utilisateurs sur les 2 domaines..

    Faut te renseigner après de ton admin réseau..
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut
    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
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     
    	<appSettings>
    		<!-- Chaines de connexion aux différentes bases de données : API + application -->
    		<add key="connexionAbsence" value=""></add>
    		<add key="connexionWorkflowADODB" value=""></add>
    		<add key="connexionWorkflow" value=""></add>
     
    		<!-- Paramètres de messagerie à utiliser pour les envoi automatique de mails -->
    		<add key="emailSmtp" value=""></add>
    		<add key="emailExpediteur" value=""></add>
    		<add key="emailUtilisateur" value=""></add>
    		<add key="emailPass" value=""></add>
     
    		<!-- Paramètres de connexion à l'Active Directory -->
    		<add key="ldapServer" value=""></add>
    		<add key="ldapUser" value=""></add>
    		<add key="ldapPass" value=""></add>
    	</appSettings>
     
      <system.web>
     
    	<!-- *** MAJ 05/12/2006- ATOS ORIGIN -->
    	<!-- Paramètre nécessaire pour pouvoir copier dans un fichier du code html à partir d'un formulaire -->
    	<pages validateRequest="false" />
     
        <compilation defaultLanguage="vb" debug="true" />
     
        <customErrors mode="Off" />
     
    	<authentication mode="Windows"/>
    	<identity impersonate="true"/>
     
        <authorization>
    		<deny users="?" />
            <allow users="*" />
        </authorization>
     
        <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
     
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="20" 
        />
     
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
     
      </system.web>
     
    </configuration>

    Voilà mon web.config sans les informations confidentielles...
    Je vais refaire des tests aujourd'hui (mon délai pour faire fonctionner ça court jusqu'à début d'après-midi).

    Si tu veux, je suis sur msn toute la journée. Si tu es dispo aujourd'hui, ça pourrait vraiment m'aider si on voyait ça par tchat....

  10. #10
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    j'ai pas msn au boulot ni accès aux tchats...

    mais suis persuadé que le problème vient de la configuration de ton site sur IIS...


    comme ça de tete je peux pas te dire... donne moi la config de ton site sur IIS! fait des copies d ecran de l'onglet securité et envoie les par par mail te donne mon adresse en MP
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 56
    Points : 21
    Points
    21
    Par défaut
    Finalement, j'ai fait pleins de tentatives de configuration de IIS.

    Lorsque tu as énoncé le fait qu'il fallait que les utilisateurs ouvrent une session sur le domaine du serveur, j'ai commencé à tilter. J'en ai parlé avec un des admin réseaux et en fait, il s'avère que leur serveur de recette n'est dans aucun domaine : c'est un serveur indépendant du reste.

    Du coup, j'ai migré l'appli sur un autre serveur de recette. J'ai eu quelques difficultés entre les impersonate, les authentifications IIS ou les authentifications de l'application .NET . Au final, je suis finalement parvenu à faire passer l'identifiant de la personne connectée à windows dans l'application qui charge les bonnes informations.
    Voici la structure :

    Configuration de l'appli (web.config):
    <authentication mode="Windows" />
    <identity impersonate="true"/>

    Configuration IIS :
    Décochage "Activer la connexion anonyme"
    Cochage de "Authentification Windows"
    => Onglet "Sécurité de répertoire" > 1er bouton "Modifier"

    Cela semble naturel maintenant comme config, et tout con. Pourtant, avec tous les paramètres des serveurs, j'ai eu du mal à configurer le tout

    Le principal, c'est que tout fonctionne correctement.

    Merci à toi Bossun de m'avoir aiguiller !!!

  12. #12
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Content de t avoir rendu service...
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

Discussions similaires

  1. SSH invoquer application graphique sur serveur distant
    Par knecmotet dans le forum Réseau
    Réponses: 7
    Dernier message: 07/09/2008, 19h33
  2. Application Windows gérant une DB ACCESS sur serveur distant
    Par paulgiot dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/01/2005, 09h59
  3. Créer un dossier sur serveur distant
    Par TorÕ02 dans le forum C++
    Réponses: 7
    Dernier message: 11/10/2004, 17h30
  4. [Sybase] Accès Table sur serveur distant
    Par MashiMaro dans le forum Sybase
    Réponses: 5
    Dernier message: 11/02/2004, 14h09
  5. jsp sur serveur distant
    Par petitelulu dans le forum JBuilder
    Réponses: 5
    Dernier message: 11/09/2003, 11h50

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