Ich habe eine Situation, wo ich einen Web-Service habe, der Daten (Bilder, Medien usw.) bereitstellt, die nur durch den entsprechenden Silverlight Client zugänglich sind . Es kann viele geben, von denen einige Zugang zu einigen Medien haben und einige Zugang zu anderen haben.Authentifizierung und Autorisierung von Silverlight Client zu WCF Web-Service
Der Web-Service existiert und es ist aktuell ein .asmx, aber wir werden dies auf WFC aktualisieren.
Bisher nachdem viele Blogs auf WCF und Autorisierung zu lesen, habe ich auf diese Idee kommen:
- Jeder Silver Client hat irgendwo einen Client-Schlüssel in seiner Konfiguration.
- Der Web-Service-Server ist durch SSL geschützt, sodass die Client-ID als Web-Service-Parameter verschlüsselt wird.
- Die Authentifizierung erfolgt über den Clientschlüssel.
- Die Autorisierung erfolgt über den Clientschlüssel.
Soweit ich sehen kann, Ich denke dies sicher sein sollte, aber Sie fühlen sich frei Löcher zu stecken!
Das einzige, was mich nervt, ist aus meiner Forschung, es gibt so viel Gefallen an der Verwendung von WCF für Authentifizierung und Autorisierung, aber für mich fühlt es sich einfach zu kompliziert für das, was ich brauche! Ganz zu schweigen davon, wie die komplizierten Clientkonfigurationsdateien für eine Silverlight-Anwendung funktionieren, die auf den WCF-Dienst zugreift.
In jedem Fall erfordert die WCF-Authentifizierung aus meiner Sicht mindestens einen Benutzernamen und ein Passwort oder ein Zertifikat, die beide sehr unhandlich sind, anstatt nur einen netten Clientschlüssel auszugeben.
Scheint meine Idee sicher und vernünftig, oder sollte ich mit meinem WFC-Lernen fortfahren, da das Framework eine bessere Lösung ist?
Wenn das WCF-Framework für Sicherheit bevorzugt wird, gibt es einen Rat auf höchster Ebene, den Sie mir geben können, welche Art von Flow würde ich benötigen, um meinen Web-Service zu sichern?
Freuen Sie sich darauf, Völker Rat und Erfahrung zu hören! :)
Vielen Dank!
Andy
Ah, guter Punkt über SL als Client-Seite! Ich habe die Implikationen völlig vergessen. Ich denke, ich verstehe deine Idee, ich muss am Montag ein bisschen mehr darüber nachdenken! :) – Andy