Ich entwerfe und teste WCF-Dienste und stelle sie als SOAP-Webdienste zur Verfügung.Unterschiedliche Sicherheit für verschiedene Dienstvorgänge in WCF
Ich habe meine Service-Klassen logisch unterteilt. Ich habe einen Account-Service. Um auf den Konto-Webdienst zugreifen zu können, müssen Sie einen Benutzernamen und ein Passwort sowie ein API-Token angeben. Ich schrieb eine benutzerdefinierte Klasse, die UserNamePasswordValidator zur Überwachung der Authentifizierung und einen IDispatchMessageInspector zur Überprüfung auf das Token erweiterte.
Eine Anforderung ist gerade aufgetaucht, wo wir eine Kontoüberprüfung bereitstellen möchten, ohne dass der Benutzer authentifiziert wird. Logisch sollte dieser Vorgang im Account Service bleiben. Der Dienst Verhalten ist jedoch so konfiguriert, dass er einen Benutzernamen, ein Kennwort und einen IServiceBehavior erfordert, der einen IDispatchMessageInspector hinzufügt, der alle Massagen für ein Token überprüft.
Ich habe all die verschiedenen Erweiterungspunkte über Extending Dispatchers - Microsoft und WCF Extensibility - Carlos Figueira
bewerten kann ich scheinen, einen Weg zu finden, um nur die Sicherheit auf der Betriebsebene gelten. Oder eine Möglichkeit, den Dienst so zu konfigurieren, dass bestimmte Funktionen Sicherheit/Token und andere nicht erfordern.
Ich bin neu in WCF, also könnte es etwas einfaches sein, aber ich habe es nicht gefunden. Wenn Sie einen Artikel kennen, der zeigt, wie Sie verschiedene Teile eines Dienstes auf unterschiedliche Weise sichern können, oder wenn Sie wissen, wie Sie dies tun, geben Sie mir bitte einige Informationen. Vielen Dank.
Dazu können Sie separate Endpunkt ("frei"/öffentlichen Dienst) ohne Sicherheit oder mit anderen Sicherheitseinstellungen erstellen – SalientBrain
Wie kann ich die Operationen in diesem Endpunkt beschränken? Wenn es keine Authentifizierung gibt, möchte ich einschränken, was aufgerufen werden kann. – Allan
Sie legen Endpunkt mit spezieller Schnittstelle offen, die sich von Main (nur eingeschränkte Operationen) unterscheidet – SalientBrain