2010-06-10 6 views
2

Scénario:Silverlight 4 - MVC 2 ASP.NET intégration adhésion "authentification unique"

  1. J'ai un site ASP.NET MVC 2 en utilisant ASP.NET l'authentification par formulaire.

  2. Le site comprend une application Silverlight 4 qui doit appeler en toute sécurité des services Web internes.

  3. Les services Web doivent également être exposés publiquement pour un accès tiers authentifié.

Défis:

  1. Solidement accès webservices de Silverlight en utilisant l'identité des utilisateurs actuels sans obliger l'utilisateur à se reconnecter à l'application Silverlight.

  2. Fournir un moyen sécurisé pour les applications tierces d'accéder aux mêmes services Web avec les mêmes informations d'identification, idéalement sans utiliser l'authentification par formulaires ASP.NET.

détails supplémentaires et les limites:

  1. Cette application est hébergé dans Azure.

  2. Nous préférerions NE PAS utiliser les services RIA si cela est possible.

solutions envisagées:

  1. Je pense que si les webservices font partie du même site MVC qui héberge l'application Silverlight forme alors l'authentification devrait probablement « juste travail » de Silverlight sur la base les utilisateurs forment des cookies auth. Mais cela semble exclure la possibilité d'héberger les services Web séparément (ce qui est souhaitable dans notre scénario).

  2. Pour l'accès des tiers aux services Web Je suppose que les paramètres séparés avec une solution de authenication différente est probablement la bonne réponse, mais je préfère soutenir une seule version des services si possible ...

questions:

  1. Quelqu'un peut-il me pointer vers des exemples d'applications qui met en œuvre quelque chose comme ça?

  2. Comment recommanderiez-vous l'implémentation de cette solution?

+0

Basé sur le manque de réponse à cette question, je vais supposer qu'il n'y a pas de bonne réponse ... – Scrappydog

+0

SSO est un chien bien battu et il y a beaucoup d'exemples ici et ailleurs, mais votre histoire est sans doute un cas il n'y a probablement pas beaucoup de réponses d'expérience à la pression. Je dirai que, d'après mon expérience, il semble que ce soit une histoire raisonnable et réalisable, mais qui demandera une attention focalisée que vous n'obtiendrez pas de ceux qui n'ont pas déjà mis en œuvre une telle histoire. bonne chance. –

+0

J'ai un scénario très similaire. Qu'avez-vous réellement fait? –

Répondre

0

Vous pouvez étendre WCF utiliser des membres en magasin AUTHENCATION et réutiliser le cookie FormsAuth (envoyé par le site MVC) au navigateur par l'application Silverlight.

0

Je vous recommande d'utiliser un STS avec Windows Identity Foundation afin que votre application puisse utiliser l'identité des revendications, puis modifier l'authentification en dehors de l'application.Pour les tiers, vous pouvez utiliser Windows Azure Access Control Service (ACS). Nous mettons à jour nos conseils à ce sujet et vous pouvez regarder le nouveau code pour vous montrer comment le faire à notre codeplex site. Le livre original est disponible au Amazon. Je me concentrerais sur le guide mis à jour car ACS a des sites Web et un client actif parle à la WCF. Le client est WPF mais il serait similaire pour Silverlight.