/// <summary> /// Recupera el usuario actual y lo establece como identidad del hilo /// </summary> public bool Evaluate(EvaluationContext evaluationContext, ref object state) { string userName; if (Thread.CurrentPrincipal.Identity.IsAuthenticated) { // Ya se ha establecido la identidad en la cabecera de interoperabilidad evaluationContext.Properties["Principal"] = Thread.CurrentPrincipal; } else { IIdentity client = GetClientIdentity(evaluationContext); GenericIdentity customClient = client as GenericIdentity; if (customClient == null) { userName = null; } else { userName = customClient.Name; } evaluationContext.Properties["Principal"] = GestionSeguridad.ObtenerPrincipal(userName); } return(true); }