2009-08-13 8 views
0

Mon site Web utilise l'authentification par formulaire. J'ai fait le module silverlight 3 qui est conçu pour fonctionner dans le contexte de l'utilisateur asp-authentifié. Le module Silverlight parle avec WCF hébergé par le même site Web asp.net, mais le problème est qu'il ne peut pas s'authentifier auprès du service WCF. Je cours Fiddler et je vois que le cookie .ASPXAUTH n'est pas envoyé au service WCF. Comment forcer Silverlight à obtenir ce cookie du navigateur et l'envoyer au service?Autorisation Silverlight et ASP.NET

Répondre

1

Enfin, je l'ai résolu. Le problème de cookie manquant a été fait par nom d'hôte inproper. J'envoyais des requêtes asp.net à myhostname, mais SL appelait WCF en utilisant myhostname.mylocaldomainnam.local. C'est pourquoi il n'y avait pas de cookie .aspauth lors des appels WCF.

0

Je l'ai utilisé avec succès. Tout d'abord, je m'assure qu'il existe un point de terminaison de service pour le service AuthorizationService WCF utilisé par ASP.NET. Ensuite, utilisez le projet Silverlight pour générer une "référence de service" au AuthorizationService. Enfin, dans votre module, vous utiliserez cette référence de service pour vous connecter à votre visiteur en utilisant ses informations d'identification stockées dans votre fournisseur. Si vous avez plus d'informations sur la façon dont vous avez construit votre site, je pourrais être en mesure d'offrir une réponse plus concise à votre problème.

+0

L'utilisateur se connecte sur le site Web asp.net. Ensuite, il peut entrer dans le module Silverlight. Je ne veux pas que l'utilisateur se connecte à nouveau dans Silverlight et je ne veux pas non plus stocker son mot de passe dans un endroit temporaire (brower/session) – tomo

+0

Ils sont une seule et même chose. La connexion à une page utilisant l'authentification par formulaires crée le même cookie que le service d'authentification WPF. Donc, se connecter à la page permettrait de passer à Silverlight tout comme la connexion à Silverlight permettrait de passer à ASP.NET. btw, le mot de passe n'est jamais stocké n'importe où à l'aide de l'authentification par formulaire. – Rick

+0

Pourquoi ai-je besoin d'ajouter une référence au service d'authentification? Dois-je appeler n'importe quelle fonction (ou configurer quelque chose) à partir de ce service à l'intérieur du client Silverlight? – tomo