2011-02-01 11 views

Respuesta

14

obtener el valor de la propiedad System.ServiceModel.ServiceSecurityContext.Current.WindowsIdentity.Name.

No importa qué enlace utilice siempre que el modo de seguridad sea diferente de None para el enlace.

Si el modo de seguridad es None, entonces System.ServiceModel.ServiceSecurityContext.Current será null.

+1

No sabía de esto ... + 1 – jcvandan

9

Usted puede obtener la identidad del usuario llamando:

ServiceSecurityContext.Current.WindowsIdentity.Name 

o

OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name 
-4

Deberá agregar algún tipo de información de Usuario a la estructura de mensaje que está utilizando para contactar al servicio.

p. Ej.

public class UserInformation 
{ 
    public string User { get; set; } 
    public string Password { get; set; } 
} 

[DataContract] 
public class Request 
{ 
    [DataMember] 
    public UserInformation User { get; set; } 
    [DataMember] 
    public MyRequest RequestBody { get; set; } 
} 

De esta manera se puede consultar el directorio activo en el lado del cliente, rellenar el objeto UserInformation y enviar a través de los datos de usuario como parte de la estructura del mensaje.

Cuestiones relacionadas