Kraft WCF aufrufen einer Methode auf jeden Wunsch vor der Eingabe der eigentlichen Funktion
Ich habe einen RESTful WCF service mit vielen verschiedenen Funktionen. Für jede Funktion muss ich aufrufen, um eine Authentifizierungsmethode, die ich geschrieben habe. Ich kann manuell rufen Sie diese Methode auf jeden Wunsch, aber ich suchte nach einem Weg zu zwingen, den WCF-engine, um diese Methode aufrufen, bevor Sie diese Funktionen eingegeben werden. Weiß jemand, ob das möglich ist?
Cheers
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die "Custom Behavior" - Ansatz.
Müssen Sie eine Klasse schreiben, die
IDispatchMessageInspector
. Auf der folgenden MSDN Magazin-Artikel gibt eine gute Erklärung dafür: Erweitern von WCF mit Benutzerdefinierten Verhaltensweisen (link zur Wayback Machine zwischengespeicherte Kopie; downloads wahrscheinlich nicht funktionieren).Zwingen WCF REST Service, um den ersten Aufruf einer Methode erfolgt insbesondere, wenn er für die Autorisierung
anpassen/überschreiben CheckAccessCore Methode der System.ServiceModel.ServiceAuthorizationManager
siehe: http://msdn.microsoft.com/en-us/library/ms731774(v=vs. 110).aspx
Wenn es für die Genehmigung, können Sie nicht verwenden, den eingebauten services?
Da ist zum Beispiel die
PrincipalPermission
Attribut. Nicht, dass in Ihrem Fall helfen?Könnte man denken, dass zum erstellen einer WCF-routing-service. Rufen Sie einen festen Endpunkt - Authentifizierung-Methode - und dann von dort aus weiterleiten Ihrer Anrufe zu den eigentlichen Methoden, basierend auf einer Anzeige in der Anfrage.
Für .NET 4, der Routing-Service-Funktionalität werden in WCF out of the box.
Was ich nicht weiß ist, wie alle matches, REST, obwohl.
Stieß ich auf diesen Beitrag, während der Suche für die gleiche Sache.Keine der Antworten waren einfache/schnelle Lösung also, wenn Sie wollen einfach nur eine Funktion, die aufgerufen werden, bevor Sie jede Methode, dann kannst du das tun, was ich gerade Tat:
Erstellte ich eine
zero argument constructor
: