2010-03-26 8 views
0

Voici un bon exemple comment créer autorization personnalisé pour les services RIA: RIA Services: How can I create custom authentication?RIA Services: autorization personnalisé

Dans mon cas, un silverlight-pages seront affichées comme une partie de HTML contenu et l'autorisation de l'utilisateur est déjà implémenté côté serveur (l'adhésion ASP.NET n'est pas utilisée). Il est nécessaire d'afficher sur les pages Silverlight des informations différentes pour les utilisateurs autorisés et non autorisés.

Existe-t-il une possibilité de suivi du côté Silverlight si l'utilisateur est déjà autorisé côté serveur (sur le site Web ASP.NET habituel)?

Veuillez indiquer comment procéder.

Merci d'avance.

Répondre

0

Plusieurs façons:

  1. Le plus simple: si les résultats d'authentification dans un rechargement de la page (et donc toutes les applications Silverlight), vous pouvez envoyer une valeur de paramètre « IsAuthenticated » à l'application Silverlight par une <param name="IsAuthenticated" value="<%= IsAuthenticated %>" /> dans la balise <object> de l'application (dans le chargement du code HTML), ou via la méthode InitParameters de l'objet asp:Silverlight, quel que soit celui que vous utilisez; le paramètre sera visible par l'application SL dans le membre InitParams du StartupEventArgs envoyé au gestionnaire de l'événement Startup de l'application. Plus complexe: créez un service Web HTTP WCF (c'est-à-dire visible par Silverlight) qui contient une méthode qui renvoie le statut d'authentification actuel de l'utilisateur.

Bien sûr, cela indique que l'application SL authentifiés de l'utilisateur et ne permet pas de verrouiller toutes les informations que vous envoyez à l'application - en d'autres termes, le serveur doit toujours vérifier que la Les informations "authentifiées uniquement" sont renvoyées uniquement aux demandes des applications SL exécutées dans des sessions de navigateur authentifiées. (En supposant que l'information est liée à l'authentification, s'il s'agit d'un ensemble différent de bannières publicitaires, alors pas de problème.)

+0

1er cas: Peut-il créer lui-même un code html pour afficher mon objet Silverlight et ajouter 'IsAuthenticated' paramètre pour pirater mon site? 2ème cas: Ben, ai-je correctement compris que vous suggérez de créer un service supplémentaire (nous avons déjà RIA) juste pour passer le paramètre 'IsAuthenticated'? Merci. – Budda

+0

Si vous disposez déjà d'un service RIA, vous pouvez y mettre une nouvelle méthode de service pour tester l'authentification. Et oui, quelqu'un pourrait pirater une page et appeler votre application Silverlight avec ce paramètre - c'est pourquoi vous devez également le valider sur le serveur avant d'envoyer des informations sensibles au client (voir mon dernier paragraphe). –