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

Windows Forms Discussion :

connexion Winform via active directory à webservices


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut connexion Winform via active directory à webservices
    Bonjour à tous.

    Je ne savais pas trop où mettre mon message car il fait appel à plusieurs techno.
    Donc le point de départ étant une application Winform je poste ma question ici même.

    Voila mon problème.

    J'ai une application Winform Client.exe.
    A son lancement je vérifie que la personne, ayant lancé l'appli, est connectée de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      WindowsIdentity identity = WindowsIdentity.GetCurrent();
      WindowsPrincipal principal = new WindowsPrincipal(identity);
      return  principal.IsInRole(Role);
    Role étant le rôle dans l'active directory qui m'intéresse.
    Jusque la, pas de problème, je peux faire le tri des personnes pouvant lancer l'application ou non.

    Vous noterez, que je tente de faire une connexion de l'utilisation windows connecté au domaine, sans demander un mot de passe (lourd de demander le mot de passe qu'une personne a déjà saisi pour se connecter à windows)

    Maintenant l'architecture de mon application pour utiliser la base de données est d'utiliser un webservice.

    Donc j'ai un web service qui fournirait les procédures pour la base de données.

    J'aimerais que ces web services soient uniquement accessibles par une personne connectée au domaine. (unique domaine dispo sur le réseau)

    J'ai donc configuré IIS (v6.1) tant bien que mal pour ne pas accepter les connexions anonyme, et uniquement "intégré windows".
    Dans mon Webservice j'ai fais une méthode de test afin de vérifier l'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [WebMethod]
            public string HelloWorld()
            {
     
                if (User.Identity.IsAuthenticated)
                    return "Hello World ";
                else
                    return "Connexion non approuvée : "+Context.User.Identity.AuthenticationType;
            }
    Voici mes problèmes/Questions:
    1) Comment dans IIS , doit on configurer pour accepter une connexion windows ? Car du coup, je ne sais pas si j'ai bien fait, ou bien TOUT fait. La nouvelle version IIS étant ignoble à mes yeux tellement c'est le bordel. (Bon c'est sûrement une question d'habitude :p)

    Pour le moment je ne peux pas accéder directement via le navigateur au service web, il me demande login/pwd, et ça ne fonctionne pas. (Erreur HTTP 401.1 - Unauthorized) (Oui j'ai bien saisi le bon login/pwd de mon compte windows)

    2) Comment à partir de CLIENT.EXE je peux appeler le WebServices en passant un credential de la personne connectée ?

    J'ai tenté de faire ça manuellement mais ça ne fonctionne pas. (Erreur 401.1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      using (WEBSERVICES.Main s = new WEBSERVICES.Main())
                {
                    s.Credentials = new System.Net.NetworkCredential("USER", "PWD", "DOMAIN");
                    try
                    {
                        myreturn = s.HelloWorld();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Points : 157
    Points
    157
    Par défaut
    Salut à tous.

    Alors voici une mise à jour de mes avancées sur le problème.

    Il s'avère que si je livre sur un serveur windows 2003 R2 IIS (5.2 ?), tout fonctionne correctement. Le webservice récupère bien l'identité etc.

    Mais en Local cela ne fonctionne pas.

Discussions similaires

  1. Pblm Connexion Java - LDAP (active directory)
    Par silverfab34 dans le forum Général Java
    Réponses: 15
    Dernier message: 15/05/2008, 17h17
  2. Deploiement via active directory et win xp !?
    Par ChristopheOce dans le forum Windows XP
    Réponses: 0
    Dernier message: 01/02/2008, 10h39
  3. Authentification via Active Directory
    Par aloha dans le forum Weblogic
    Réponses: 6
    Dernier message: 09/10/2007, 09h58
  4. Connexion anormalement lente Active Directory 2003 Clien Win XP SP2
    Par digital prophecy dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 11/11/2006, 23h07
  5. [LDAP] récupération login de l'utilisateur via Active Directory
    Par kcizth dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/12/2005, 17h47

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