2009-11-05 6 views
3

J'ai une application silverlight qui appelle mes services wcf donc c'est un basichttpbinding. et nous utilisons l'authentification par formulaire. Je veux faire un contrôle d'authentification pour chaque appel que je reçois sauf pour le "AuthenticationService" (car c'est la méthode qui fera l'authentification de base pour la connexion) donc après que l'utilisateur se connecte et essaie d'appeler d'autres services vérifier à effectuer de sorte que seuls les utilisateurs authentifiés auront accès à eux. Y a-t-il un meilleur moyen de mettre en œuvre ceci ... ??? Après une recherche dans divers blogs, j'ai appris que nous pouvions utiliser la propriété HttpContext.Current .... IsAuthenticated pour vérifier si l'utilisateur est authentifié ou non. Mais ma question est de savoir comment sécurisé et valide est HttpContext? Pouvons-nous compter sur cela? ou devrions-nous utiliser OperationContext? (et oui aspnetcompatability est mis à vrai).Authentifier chaque appel dans WCF

Veuillez nous suggérer!

Merci à l'avance
Sai

Répondre

0

Voici quelques articles qui peuvent aider:

http://msdn.microsoft.com/en-us/library/dd560702(VS.95).aspx http://silverlightuk.blogspot.com/2008/03/silverlight-wcf-and-aspnet.html http://smehrozalam.wordpress.com/2009/01/07/securing-silverlight-application-and-wcf-service-using-aspnet-authentication-techniques/

Réponse courte est que vous pouvez utiliser les commandes asp.net pour faire l'autorisation, ou utilisez directement HttpContext.Current (tant que AspNetCompatMode est activé).

+0

Merci pour votre réponse ... Donc je vais continuer avec HttpContext puis .. – Sai

2

Si vous hébergez vos services WCF dans l'environnement d'exécution ASP.NET (c'est-à-dire <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />), vous devez absolument pouvoir compter sur le système de sécurité d'ASP.NET.

Consultez cette réponse que j'ai donnée à une autre question sur how to leverage ASP.NET security for ASMX services. La même approche peut être utilisée pour sécuriser un service WCF tant que vous activez ASP.NET en tant qu'environnement d'hébergement de service.

+0

Merci pour votre réponse ... Je n'ai pas compris comment appliquer l'étape # 3 que vous avez mentionné dans le lien pour wcf service. ..si j'applique l'autorisation () alors je ne trouve même pas trouver le service mon wcf en utilisant url - "http: //localhost/myservice.svc" me donne l'erreur ... http 404 ressource pas trouvé ... alors je ne peux pas ajouter mon service à d'autres projets .. comment puis-je demander une autorisation? – Sai

+0

Vous devriez obtenir un 40 * 1 * si quelque chose. Cependant, vous avez dit que l'authentification des formulaires est activée, donc le module auth de formulaires devrait capturer cela et le rediriger vers le formulaire de connexion. Je suppose que ce service est une sorte de pont AJAX comme vous l'avez décrit, sinon l'authentification par formulaire n'a aucun sens. –