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

Services Web Discussion :

[C#] Pourquoi je ne peux pas m'authentifier ?


Sujet :

Services Web

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut [C#] Pourquoi je ne peux pas m'authentifier ?
    Bonjour,

    J'ai développé un service web qui me permet d'incrémenter une valeur sauvegardée dans un fichier text.

    Le service fonctionne parfaitement lorsque je le test depuis un navigateur.

    Lorsque j'effectue l'appel à une méthode de mon service web, j'ai l'erreur d'authentification suivante :
    La demande a échoué avec l'état HTTP 401: Access Denied.

    # SERVICE WEB
    Dans IIS, mon serviceweb tourne dans un répertoire virtuel qui lui est propre. La configuration de la sécurité est cochée uniquement sur : Authentification intégrée windows

    le web.config de mon service web est ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <authentication mode="Windows" /> 
    <authorization>
     <deny users="?">
     <allow users="*">
    </authorization>
    # APPLICATION ASP.NET
    L'application web contient les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    localhost.Sequenceur oSeq = new localhost.Sequenceur();
    string retour = oSeq.Increment("boc").ToString();
    Response.Write(retour);
    Le web.config de l'application se présente ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <identity impersonate="true"/>
    <authentication mode="Windows" /> 
    <authorization>
     <deny users="?">
     <allow users="*">
    </authorization>
    Le répertoire virtuel IIS contenant mon application web est ainsi configurée :
    Authentification intégrée windows

    Quelqu'un pourrait-il m'éclairer son mon problème de droit d'accès lorsque j'appelle la méthode : oSeq.Increment("boc").ToString(); ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Par défaut
    Un truc me perturbe dans ton web.config :

    Tu autorises tous les users, mais tu refuses l'anonyme. si tu enlèves la ligne "<deny user="?"> "

    Est ce que ca ne marcherait pas un peu mieux?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    J'autorise tous les utilisateurs, sauf ceux qui ne sont pas identifiés... d'ou le deny...

    Ceci dit, même en enlevant le deny, ça ne fonctionne pas.
    Il y a vraissemblablement des subtilités lorsque l'on ajoute la gestion de la sécurité sur les services web...

    Après moulte fouille, je suis tombée sur le site de Krosoft : http://www.microsoft.com/france/tech.../secmod10.mspx

    A priori, je devrais simuler utiliser un proxy...

    J'ai donc ajouté ceci à mon code coté application cliente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string MonProxyIP = "10.10.x.x";
    WebProxy proxy = new WebProxy(MonProxyIP,80);
    proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
    localhost.Sequenceur oSeq = new localhost.Sequenceur();
    oSeq.Proxy = proxy;
    string retour = oSeq.Increment("boc").ToString();
    Response.Write(retour);
    Ca fait tres sofistiqué, mais ça ne fonctionne toujours pas...
    Je continue de chercher... mais si quelqu'un peut m'apporter son aide, ça ne sera pas de refus

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    Trouvé!

    Il suffisait de rajouter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oSeq.Credentials = System.Net.CredentialCache.DefaultCredentials;

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/07/2007, 16h06
  2. Réponses: 9
    Dernier message: 14/09/2006, 17h03
  3. [VB.NET] Pourquoi je ne peux pas me connecter à une base SQL ?
    Par Hakki dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 11h35
  4. [C#] Pourquoi je ne peux pas remplir ma liste ?
    Par cosmos38240 dans le forum Services Web
    Réponses: 5
    Dernier message: 28/08/2006, 15h13
  5. [C#] Pourquoi je ne peux pas sauvegarder le fichier Xml ?
    Par gregoun dans le forum Services Web
    Réponses: 5
    Dernier message: 05/05/2004, 10h00

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