je cet environnement existant:Authentification ASP.NET, SilverLight, WCF et formulaires - Comment configurer les points de terminaison?
1) application Web ASP.NET 3,5
2) l'authentification par formulaire avec le SqlMembershipProvider
Je dois ajouter ce qui suit:
1) un objet cartographique Silverlight incorporé dans une page Web.
2) un service WCF à consommer par:
a) the Silverlight component embedded in an authenticated web page, as mentioned above b) server-based WCF clients with certificate based authentication
Ma question est - ce qui est le plus facile/meilleure façon de configurer les points de terminaison WCF pour l'objet Silverlight pour authentifier au service WCF en utilisant le contexte de sécurité de l'utilisateur déjà connecté (via la page qui héberge l'objet Silverlight) sans avoir à réutiliser le nom d'utilisateur/mot de passe de l'utilisateur?
J'ai étudié beaucoup de matériel MSDN et Patterns & Practices et je pensais avoir une bonne compréhension de la plupart des scénarios d'authentification potentiels. Mais je n'arrive pas à trouver un moyen de les lier ensemble pour le scénario que j'ai décrit. J'ai trouvé d'autres personnes postant des questions similaires à la mienne, mais aucune des réponses que j'ai lues ne semble répondre pleinement à leurs questions non plus. (Peut-être que je rends cela plus difficile que cela doit être?)
Je pense que la solution serait d'utiliser en quelque sorte le jeton d'authentification/cookie généré dans le formulaire de connexion asp.net et en quelque sorte le passer à la Silverlight objet qui l'inclut ensuite dans la requête WCF. Mais je ne vois pas comment configurer le point de terminaison WCF pour utiliser ce jeton. (Dans certains de mes autres projets, j'ai implémenté le scénario de serveur à serveur dans 2.b ci-dessus en utilisant l'authentification par certificat, donc je ne suis pas trop inquiet à propos de l'ajout au mixage actuel. décrit.)
Merci d'avance pour toute idée ou pointeurs vers le chemin vers l'avant.
Terry
J'ai testé avec toutes ces choses. Lorsque je définis l'autorisation à 'deny users ="? "' J'obtiens une exception System.ServiceModel.ProtocolException car la page login.aspx par défaut est renvoyée en tant que réponse WCF. Si je supprime le paramètre deny users et que je me connecte avant de faire la demande WCF, puis que je fais la requête WCF, HttpContext.Current.User.Identity.Name est vide et .IsAuthenticated est false. J'ai l'impression d'avoir manqué quelque chose de simple et évident quelque part ... J'ai essayé de rouler manuellement les terminaux client et serveur et j'ai aussi essayé d'utiliser les modèles WCF SL-Enabled et l'assistant "add service ref" – tblank
: //msdn.microsoft.com/en-us/library/bb398990.aspx Il s'agit d'un exemple d'exposition d'un service d'authentification, mais le WCF utilise le formulaire auth. J'espère que cela vous donnera une idée. –