2010-04-15 2 views

Répondre

3

Activer l'authentification de base (nom d'utilisateur/mot de passe) sur le service. Créez un utilisateur unique que l'application Silverlight utilisera pour s'authentifier auprès du service.

Il est peut-être plus simple, mais moins sûr, d'utiliser un type d'identificateur (connu uniquement du client Silverlight) en tant que paramètre de service.

Les deux options sont évidemment les plus sécurisées lorsqu'elles sont implémentées avec HTTPS. Cela peut être accompli en utilisant un certificat de serveur.

+0

Le problème avec l'approche est que la clé/mot de passe n'est pas sécurisé. Qu'il s'agisse de flash/silverlight ou de javascript, la clé peut facilement en être extraite. –

+0

Bon, bon point. Dans le cas de javascript etc, il n'y a aucun moyen de le faire par programmation de manière 100% sécurisée. Donc, cela pourrait signifier que vous êtes coincé avec quelque chose comme des certificats clients ou un filtrage IP dans votre serveur web/pare-feu, éventuellement combiné avec la solution mentionnée ci-dessus. –

+0

100% sécurité est une illusion de toute façon :) C'est juste "combien d'efforts et de compétences faut-il pour contourner les restrictions de sécurité". Cela dépend donc de l'importance des données. Un nom d'utilisateur/mot de passe d'authentification le fera pour moi, merci pour toutes les réponses! – Aaginor

1

Vous ne peut pas limiter l'accès à un tel service. Votre application devra avoir accès à la clé/mot de passe que vous avez choisi. Il est trivial de décompiler votre application et d'extraire la clé. SSL/TLS n'aidera pas - parce que le mot de passe peut être extrait du code compilé.

Cette question a été posée à quelques reprises récemment -

  1. Ensure exclusive access to webservice
  2. How to restrict access to my web service?
  3. How can I create and use a web service in public but still restrict its use to only my app?
1

Si votre application est en cours d'exécution de façon anonyme, alors il est pratiquement impossible d'être 100% garantir.

Comment jamais si vous êtes à vos utilisateurs nécessitant d'authentifier alors vous devriez être en mesure de rendre le service relativement sûr en exigeant leurs identifiants de connexion ...

0

Je ne sais pas si facile avec WCF, mais je supposez que vous pourriez faire quelque chose en utilisant des certificats clients. J'ai seulement utilisé cette approche pour protéger les sites Web et c'était assez facile à faire ...

Questions connexes