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 Phone .NET Discussion :

Réaliser une connexion authentifier depuis Windows Phone


Sujet :

Windows Phone .NET

  1. #1
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    août 2003
    Messages
    1 984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : août 2003
    Messages : 1 984
    Points : 1 433
    Points
    1 433
    Par défaut Réaliser une connexion authentifier depuis Windows Phone
    Hello,

    je bute sur un problème dont je ne trouve pas de tutoriel précis ...

    J'ai une Web API qui est intégrer à un site ASP.NET MVC qui a une Individual Authentification.

    Tout fonctionne nickel via les pages ASP.NET du site.

    si on essai de se connecter directement sur l'url de mon API sans authentification on est renvoyé sur la page de login.

    Bref, je souhaite pouvoir me connecter sur cette API depuis une application Windows phone et là ça ne fonctionne pas avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
                    WebClient MyWebClient = new WebClient();
                    MyWebClient.BaseAddress = "http://www.drousoft.net/api/customers";
                    MyWebClient.Headers["Accept"] = "application/json";
                    MyWebClient.Credentials = new NetworkCredential("test@drousoft.net", "test");
                    MyWebClient.UseDefaultCredentials = true;
                    MyWebClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(MyWebClient_DownloadStringCompleted);
                    MyWebClient.DownloadStringAsync(new Uri(ApiUrl));
    ...
    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
    ...
            private void MyWebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
            {
                try
                {
                    this.Items.Clear();
                    if (e.Result != null)
                    {
                        var customers = JsonConvert.DeserializeObject<Drousoft.AspNetWebSite.WP8.Models.Customer[]>(e.Result);
                        foreach (Models.Customer CurrentCustomer in customers)
                        {
                            this.Items.Add(new ItemViewModel()
                                {
                                    ID = CurrentCustomer.Id.ToString(),
                                    ServerFullNamePathForBackup = CurrentCustomer.ServerFullNamePathForBackup,
                                    LastDateForBackup = CurrentCustomer.LastDateBackup,
                                    DeviceIdForTheLastBackup = CurrentCustomer.DeviceIdForTheLastBackup
                                });
                        }
                        this.IsDataLoaded = true;
                    }
                }
                catch (Exception ex)
                {
                    this.Items.Add(new ItemViewModel()
                    {
                        ID = "0",
                        ServerFullNamePathForBackup = "An Error Occurred",
                        LastDateForBackup = String.Format("The following exception occured: {0}", ex.Message),
                        DeviceIdForTheLastBackup = String.Format("Additional inner exception information: {0}", ex.InnerException.Message)
                    });
                }
            }
    ...
    En fait dans le e.Result j'ai le message d'erreur Not Found ...

    Quelqu'un aurait un tuto qui explique clairement comment se connecter avec une authentification ?

    Merci
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Regarde avec Fiddler, ça devrait te donner des indices.

    Sinon j'ai parfois entendu parler de problème avec le WebClient qui, par défaut, n'accepterait pas les cookies (il faut explicitement créer un cookiecontainer), c'est peut-être ça.

    Tu peux aussi essayer avec le HttpClient, c'est mieux que le WebClient.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    août 2003
    Messages
    1 984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : août 2003
    Messages : 1 984
    Points : 1 433
    Points
    1 433
    Par défaut
    Ok,

    merci pour ces infos ...
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  4. #4
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    août 2003
    Messages
    1 984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : août 2003
    Messages : 1 984
    Points : 1 433
    Points
    1 433
    Par défaut
    Bon ça fait des jours que je cherche sur le web, j'ai épelucher le site ASP.NET et rien !

    pas un exemple qui montre comment on se connecte à une application MVC qui utilise l'authentification !

    C'est à croire que personne n'utilise ce genre de mécanisme ...

    Arff je désespère
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

Discussions similaires

  1. [Windows Phone 7] Socket, transfert d'une image depuis windows phone vers mon PC et vice-versa
    Par juvenalvangu dans le forum Windows Phone
    Réponses: 1
    Dernier message: 13/10/2013, 15h14
  2. [XP] Comment réaliser une connexion a distance (pc-pc)
    Par loic20h28 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 27/02/2008, 15h34
  3. Réponses: 2
    Dernier message: 09/08/2007, 12h46
  4. Connexion à une install Linux depuis Windows
    Par ploxien dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 13/06/2007, 22h52
  5. Impossible de pinger une machine linux depuis windows
    Par onyouma dans le forum Réseau
    Réponses: 3
    Dernier message: 14/05/2007, 11h16

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