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

C# Discussion :

Problème d'authentification à un service WCF


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut Problème d'authentification à un service WCF
    Bonjour à tous,

    J'ai développé un service WCF que j’héberge dans SharePoint 2010. Le service est appelé en REST depuis des plugin Dynamics CRM 2013.
    Tout fonctionne bien tant que je mais explicitement les Credentials d'un user mais dès que je veux utiliser DefaultNetworkConnection ca ne passe plus (j'obtiens un erreur d'authentification 401).

    Est-ce que quelqu'un saurait comment je pourrait appeler mon service sans avoir à saisir des credential utilisateur ?
    je n'ai aucune dépendance avec ma solution SharePoint qui héberge le service, j'appelle mes méthodes directement avec l'URL en REST. Toutes les solution que j'ai pu trouver fonctionne avec un DataContractClient donc pas vraiment applicable dans mon cas.

    Voici le code que j'utilise pour appeler mon service :

    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
    HttpWebRequest req = WebRequest.Create(@"http://myService.svc/MyMethod") as HttpWebRequest;
            req.Credentials = CredentialCache.DefaultNetworkCredentials;
     
            byte[] data = UTF8Encoding.UTF8.GetBytes(dataString);
     
            req.Method = "POST";
            req.ContentType = @"application/json; charset=utf-8";
            req.ContentLength = data.Length;
            req.Expect = @"application/json";
     
            using (Stream postStream = req.GetRequestStream())
            {                
                postStream.Write(data, 0, data.Length);
            }
     
            using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
            {
                string responseValue = string.Empty;                     
                using (var responseStream = resp.GetResponseStream())
                {
                    using (var reader = new StreamReader(responseStream))
                    {
                        responseValue = reader.ReadToEnd();
                    }
                }
              }
    Le fait que je ne puisse pas me connecter sans connaitre les identifiant pose un gros problème, si quelqu'un a une méthode d'authentification ça serait super !

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par folksy Voir le message
    J'ai développé un service WCF que j’héberge dans SharePoint 2010.
    Il y a de fortes chances pour que tu doives utiliser l'authentification NTLM, vu que si tu es dans le même site IIS que SharePoint, tu seras soumis exactement aux mêmes contraintes.

    Tu pourrais essayer d'activer l'authentification anonyme sur le site IIS, cependant, attention aux effets de bord au niveau de ton SharePoint...

    Le mieux serait d'héberger ton Web Service dans un site IIS indépendant.

    Citation Envoyé par folksy Voir le message
    Tout fonctionne bien tant que je mais explicitement les Credentials d'un user mais dès que je veux utiliser DefaultNetworkConnection ca ne passe plus (j'obtiens un erreur d'authentification 401).
    Effectivement ce n'est pas étonnant, vu que l'authentification anonyme ne doit pas être activée sur son SharePoint. La propriété CredentialCache.DefaultNetworkCredentials utilisée dans le cadre d'une application ASP.NET retourne soit les infos d'identification de l'utilisateur actuellement connecté, soit les infos de l'utilisateur impersonnifié (donc potentiellement celles du compte utilisé par l'ApplicationPool de IIS).

    Citation Envoyé par folksy Voir le message
    Est-ce que quelqu'un saurait comment je pourrait appeler mon service sans avoir à saisir des credential utilisateur ?
    Je pense que tu as juste besoin de créer un nouveau site IIS, et de n'y activer que l'authentification anonyme. Mais ça peut ne pas être aussi simple que ça selon la configuration du serveur IIS (le niveau au-dessus des sites) par exemple...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut
    Merci beaucoup pour ta réponse !
    Je vais essayer de voir avec le serveur IIS pour l'authentification anonyme.
    Que ca vienne du mode d'authentification m'était passé par la tête mais je ne voyais pas comment le rendre compatible avec l'authentification SharePoint.

    Quand tu parle d'effets de bord sur le serveur SharePoint avec l'authentification anonyme, quels genre d'effets de bord cela pourrait être ?

    Encore merci pour ta réponse.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par folksy Voir le message
    Quand tu parle d'effets de bord sur le serveur SharePoint avec l'authentification anonyme, quels genre d'effets de bord cela pourrait être ?
    J'ai le souvenir que dans certaines conditions, suite à l'activation de l'authentification anonyme, en plus d'un autre mode (digest et/ou NTLM) ça générait des erreurs HTTP 500. Après là comme ça, je n'aurais pas de cas concret à te donner

    Il faudra aussi veiller à ce que les ressources SharePoint ne soient pas accessibles sans authentification... Bref, il n'est pas recommandé de faire ça directement en production vu que ça peut compromettre la sécurité. Il faut bien tester en amont pour voir tous les impacts.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut
    Je vais voir ce qu'il peut être fait. Effectivement avec ce que tu me dis on risque d'avoir des soucis.

    Merci beaucoup !

Discussions similaires

  1. Problème avec l'authentification d'un service Wcf
    Par eric.bryan dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 16/06/2015, 17h20
  2. Problème publication application avec service WCF
    Par exopartners dans le forum IIS
    Réponses: 3
    Dernier message: 12/04/2010, 09h17
  3. Problème Appel Service WCF
    Par tisserag dans le forum Silverlight
    Réponses: 3
    Dernier message: 08/10/2009, 00h35
  4. Authentification et services WCF
    Par Wasrack dans le forum Silverlight
    Réponses: 4
    Dernier message: 20/08/2009, 09h36
  5. [3.0] [Service Wcf] problème avec le fichier .svc
    Par marc_dd dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 14/08/2007, 17h21

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