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

Framework .NET Discussion :

Authentification HTTP sur un Webservice


Sujet :

Framework .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 26
    Points
    26
    Par défaut Authentification HTTP sur un Webservice
    Salut tout le monde,

    Je créer un client pour un webservice en C#.
    Je chercher à m'authentifier à ce service en HTTP basique.

    Je ne trouve pas comment le faire. (J'ai eu beau chercher, la plupart des tutos parlent d'authentification avec certificat, ou alors de création d'un webservice sécurisé).

    J'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pbc.ClientCredentials.HttpDigest.ClientCredential.UserName = ...
    pbc.ClientCredentials.HttpDigest.ClientCredential.Password = ...
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pbc.ClientCredentials.UserName.UserName = ...
    pbc.ClientCredentials.UserName.Password = ...
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pbc.ClientCredentials.HttpDigest.ClientCredential = new System.Net.NetworkCredential (..., ...);
    pbc étant un objet créé avec la classe générée par Visual Studio.

    Quand j'exécute mon programme en mode debug, j'ai une exception MessageSecurityException:

    La demande HTTP n’est pas autorisée avec un modèle d’authentification client « Anonymous ». L’en-tête d’authentification reçu du serveur était « Basic realm=SSO_WEBSERVICE ».
    On dirait que mes credientials ne sont pas pris en compte.

    Comment résoudre ce problème?.

    Merci

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    C'est en WCF?
    Si oui, peux tu nous montrer ta config wcf?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 26
    Points
    26
    Par défaut
    A vrai dire, je ne sais pas.
    Je débute en C#.

    J'ai créé un projet WPF et ajouté le service grace a l'éditeur.

    Je te redis dès que j'ai le code sous la main.

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    C'est la section system.servicemodel de ton app.config

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 26
    Points
    26
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        <userSettings>
            <BarCodes.Properties.Settings>
                <setting name="WebserviceUsername" serializeAs="String">
                    <value>[...]</value>
                </setting>
                <setting name="WebservicePassword" serializeAs="String">
                    <value>[...]</value>
                </setting>
            </BarCodes.Properties.Settings>
        </userSettings>
    Les [...] sont effectivement les bons credentials. Je ne comprends pas :/

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Il faudrait que tu donnes la section <system.servicemodel> de ton fichier app.config
    C'est cette section qui contient la configuration des webservices

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 26
    Points
    26
    Par défaut
    oops pardon, la nuit a été un peu longue.

    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
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="BarcodeSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                        receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                        bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <security mode="Transport">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="">
                                <extendedProtectionPolicy policyEnforcement="Never" />
                            </transport>
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>
                    </binding>
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="https://www.mypostbusiness.ch/wsbc/barcode/v1_0"
                    binding="basicHttpBinding" bindingConfiguration="BarcodeSoapBinding"
                    contract="PostBarCode.BarcodePortType" name="BarcodePort" />
            </client>
        </system.serviceModel>
    Visiblement ce n'est pas correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <transport clientCredentialType="None" proxyCredentialType="None"
    Mais je ne sais pas par quoi changer

  8. #8
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transport clientCredentialType="Basic" ...
    Devrait mieux fonctionner

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Points : 26
    Points
    26
    Par défaut
    C'est mieux!

    Merci!

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

Discussions similaires

  1. [ZF 1.11] Authentification Http basée sur une table
    Par keaton7 dans le forum Zend_Acl & Zend_Auth
    Réponses: 2
    Dernier message: 07/03/2013, 11h39
  2. Authentification http, Webservice REST
    Par adelafnay dans le forum Services Web
    Réponses: 1
    Dernier message: 18/05/2011, 11h04
  3. Bypass de l'authentification en https sur appli J2EE
    Par Kikujiro dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 15/05/2009, 14h00
  4. Authentification HTTP sur 2 serveurs
    Par mecha dans le forum Apache
    Réponses: 5
    Dernier message: 23/06/2006, 17h21
  5. Redirection HTTPS sur Apache
    Par kelu dans le forum Apache
    Réponses: 1
    Dernier message: 02/12/2005, 10h53

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