Suchen Sie den Active Directory-Domänenbenutzernamen eines WCF-Dienstanrufers

8

Betrachten Sie einen WCF-Dienst mit WsHttpBinding , für den nur die Domänenbenutzer diesen Dienst aufrufen dürfen.

Wie können Sie den Active Directory-Benutzernamen des Anrufers finden?

    
Arian 01.02.2011, 10:36
quelle

3 Antworten

14

Ruft den Wert von System.ServiceModel.ServiceSecurityContext.Current.WindowsIdentity.Name Eigenschaft ab.

Es spielt keine Rolle, welche Bindung Sie verwenden, solange sich der Sicherheitsmodus von None für die Bindung unterscheidet.

Wenn der Sicherheitsmodus None ist, dann ist System.ServiceModel.ServiceSecurityContext.Current null .

    
Rest Wing 01.02.2011, 11:16
quelle
9

Sie können die Identität des Benutzers abrufen, indem Sie Folgendes aufrufen:

%Vor%

oder

%Vor%     
Ladislav Mrnka 01.02.2011 11:16
quelle
-4

Sie müssen der Nachrichtenstruktur, mit der Sie den Dienst kontaktieren, eine Art Benutzerinformation hinzufügen.

z.B.

%Vor%

Auf diese Weise können Sie Active Directory auf Ihrer Clientseite abfragen, das UserInformation-Objekt auffüllen und die Benutzerdetails als Teil der Nachrichtenstruktur senden.

    
jcvandan 01.02.2011 11:17
quelle

Tags und Links