2010-12-22 6 views
3

Ich verwende die UserNamePasswordValidator Klasse als Teil der Sicherheit mit WCF. Das alles funktioniert super und die Validate Funktion der Klasse wird aufgerufen und funktioniert ordnungsgemäß.WCF UserNamePasswordValidator - Zugangsdaten nach Validierung

Wie kann ich herausfinden, was UserName in meinen Service-Funktionen verwendet wurde?

Zum Beispiel sagen, wenn ein Client eine Verbindung und fordert eine Liste von Protokollen mit so etwas wie

IList<Log> Logs() { ... } 

Wie kann wissen, dass Funktion, welche Benutzernamen auf diesem Antrag wurde verwendet?

Was ich tun möchte, ist protokollieren, was UserName welche Funktion innerhalb des Dienstes anruft.

Antwort

9

Nicht sicher, aber Sie können für

var userName = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name; 
+0

Perfekter Dank! – Chris

1

suchen Ich glaube, es ist etwas in der Operation Kontext ist. Versuchen Sie dies:

OperationContext oc = OperationContext.Current; 
ServiceSecurityContext ssc = oc.ServiceSecurityContext; 
string client = ssc.PrimaryIdentity.Name; 
Verwandte Themen