visual studio implement consumir consume application c# wcf

c# - studio - Obtener el nombre de usuario de Windows del lado del servidor WCF



wcf soap service c# (4)

Estoy bastante verde con los servicios web y WCF, y estoy usando la autenticación integrada de Windows. ¿Cómo obtengo el nombre de usuario en la interfaz del servidor? Creo que se supone que debo implementar un Comportamiento personalizado, o tal vez algo con las Sesiones WCF? Cualquier pista sería súper útil.


Aquí hay un fragmento de código de servicio que muestra cómo puede recuperar y usar WindowsIdentity asociado con la persona que llama de un servicio WCF.

Este código asume que está aceptando la mayoría de los valores predeterminados de su configuración. Debería funcionar sin problemas con Named Pipe o Net Net binding.

p.Demand () determinará si el usuario está en el grupo de Windows especificado por la variable permissionGroup.

private static void DemandManagerPermission() { // Verify the use has authority to proceed string permissionGroup = ConfigurationManager.AppSettings["ManagerPermissionGroup"]; if (string.IsNullOrEmpty(permissionGroup)) throw new FaultException("Group permissions not set for access control."); AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); var p = new PrincipalPermission(ServiceSecurityContext.Current.WindowsIdentity.Name, permissionGroup, true); p.Demand(); }


Intente buscar en ServiceSecurityContext.Current.WindowsIdentity


Para obtener el nombre de usuario del llamante del Servicio WCF:

var callerUserName = ServiceSecurityContext.Current.WindowsIdentity.Name;


has probado WindowsIdentity.GetCurrent(); ?