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

Silverlight Discussion :

Authentification WCF et Silverlight


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Authentification WCF et Silverlight
    Bonjour à tous,
    J'ai un petit soucis depuis hier sur l'authentification WCF.
    Bien que les ClientCredentials sont supportés par Silverlight 3, j'aimerai utilisé l'authentification ASP.NET dans mon service WCF.
    Pour cela:
    -Je crée un contrat de service:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        [ServiceContract(Namespace = "")]
        public interface IAuthenticationService
        {
            [OperationContract()]
            bool Authentication(string login, string pass);
     
            [OperationContract]
            bool Authenticated();
        }
    -Je crée l'implémentation (juste pour tester):
    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
     
        [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
        public class AuthenticationService : IAuthenticationService
        {
            #region IAuthenticationService Members
     
            public bool Authentication(string login, string pass)
            {
                FormsAuthentication.SetAuthCookie(login, false);
                GenericIdentity user = new GenericIdentity(login);
                GenericPrincipal securityPrincipal = new System.Security.Principal.GenericPrincipal(user, null);
                HttpContext.Current.User = securityPrincipal;
                Thread.CurrentPrincipal = securityPrincipal;
                return true;
            }
     
            [PrincipalPermission(SecurityAction.Demand, Authenticated = true)]
            public bool Authenticated()
            {
                return true;
            }
     
            #endregion
        }
    Vous remarquerez que j'y vais comme un barbare au niveau de l'authentification, j'ai voulu tout tester...

    -Je configure mon Web.config avec des choses de ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <authentication mode="Forms"/>
    Lorsque je lance mon client Silverlight, il appelle bien ma méthode d'authentification (qui se passe bien).
    Mais dès que j'appelle une autre méthode de mon service, je ne suis de suite plus identifié.

    Peut être un problème de cookie ? please help me

    EDIT: Avec un client de type WPF ou Winform le code fonctionne
    Dernière modification par Invité ; 04/09/2009 à 20h36.

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    ASP.NET 3.5 propose déjà un service d'authentification tout pret à utiliser avec WCF. Pas la peine de tout réinventer. Regarde par ici:
    http://blogs.msdn.com/brada/archive/...lverlight.aspx
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui je sais bien mais mes besoins nécessite d'avoir un service personnalisé.
    J'ai fini par trouve la source du pb: le cookie n'est pas bien stocké.
    J'en ai profité pour trouver une solution alternative à celle ci et les clientcredentials que j'ai exposé sur mon blog pour ceux que ça intéresse.
    Dernière modification par Deepin ; 01/07/2011 à 08h03.

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Citation Envoyé par DJulien Voir le message
    Oui je sais bien mais mes besoins nécessite d'avoir un service personnalisé.
    OK, pouvais pas savoir. Merci pour la réponse sur le blog.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2010, 11h57
  2. Problème déploiement et accès WCF pour Silverlight
    Par tom741 dans le forum Silverlight
    Réponses: 4
    Dernier message: 03/07/2009, 14h51
  3. Problème authentification WCF
    Par silvinus dans le forum Services Web
    Réponses: 2
    Dernier message: 30/06/2009, 11h37
  4. [WCF Security Silverlight] marquer les méthodes avec des PermissionPrincipal
    Par anthyme dans le forum Windows Communication Foundation
    Réponses: 6
    Dernier message: 10/06/2008, 10h03

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