Token-basierte Authentifizierung in WCF

Ich erstelle eine Website, die sowohl ASP.NET-Seiten als auch ein Flash-Applet enthält. Ich möchte meine Geschäftslogik in einem WCF-Dienst kapseln, der über zwei Endpunkte verfügbar gemacht wird: einen über das Internet über HTTP (S) für den Flash-Client und einen über das Rechenzentrum für die Anwendungsserver . Wenn dies nicht als ein guter Ansatz erscheint, dann halte mich hier auf; ansonsten gehe ich weiter ...

Die Frage ist, wie Anforderungen vom Flash-Client authentifiziert werden. Da ich das Passwort des Benutzers nicht in einem Browser-Cookie speichern möchte, das Passwort nicht bei jeder Anfrage senden möchte und nach der ersten Anmeldung kein HTTPS verwenden muss, plane ich die Verwendung eines Tokens. basiertes Authentifizierungssystem. Ich möchte auch nicht, dass sich der Benutzer beim Flash-Client anmelden muss, nachdem er sich bereits auf der Site selbst angemeldet hat. Daher plane ich, Javascript zu verwenden, um das Token beim Start an den Flash-Client zu übergeben.

Ich weiß, dass WCF die Verwendung des in .NET Framework integrierten Sicherheitsframeworks (System.Security) unterstützt, um die Zugriffssteuerung zu erzwingen, und ich möchte dies nutzen.

Die Frage ist also:Wie übergebe ich das Token an den WCF-Dienst, wenn es von Flash aufgerufen wird, und wie verarbeite ich das Token auf dem Server?

WCF hat einen Authentifizierungsmodus "ausgestelltes Token", aber es scheint, dass dieser in einem ausgewachsenen Verbundszenario mit einem sicheren Tokendienst und SAML-Token verwendet werden soll - ein bisschen mehr Komplexität, als ich wirklich möchte. Ist es möglich, diesen Modus mit meinen eigenen "einfachen Zufallszeichenfolgen" -Token zu verwenden? Wenn das so ist, wie? Beachten Sie, dass dies mit Flash kompatibel sein muss.Ich könnte das Token möglicherweise in einem Header (entweder einem SOAP-Header oder einem HTTP-Header) übergeben. In diesem Fall, wenn ich festgestellt habe, welcher Benutzer die Anfrage stellt, wie informiere ich das Framework, damit die System.Security-Prüfungen funktionieren?Gibt es einen anderen Ansatz, den ich berücksichtigen sollte? Alles, was das Senden von Passwörtern bei jeder Anfrage vermeidet, lässt mich System.Security verwenden und funktioniert mit Flash, ist eine Möglichkeit.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage