示例#1
0
        /// <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);
        }
示例#2
0
 public override void Validate(string userName, string password)
 {
     if (!GestionSeguridad.ValidarUsuario(userName, password))
     {
         throw new SecurityTokenException("Nombre de usuario o contraseña no válidos");
     }
 }