public static GenericPrincipal ObtenerPrincipal(string userName)
    {
        string     cacheKey;
        Usuario    usuario;
        UsuariosCN usuariosCN = new UsuariosCN();

        if (userName == null || userName.ToLower() == "invitado")
        {
            return(new GenericPrincipal(new GenericIdentity("invitado"), null));
        }
        else
        {
            cacheKey = userName + "\\t" + _usuarioAuthCacheSufix;
            usuario  = (Usuario)CacheManager.GetItem(cacheKey);
            if (usuario == null)
            {
                ImpersonarLlamada();

                usuario = usuariosCN.ObtenerUsuarioPorNIF(userName);

                CancelarImpersonarLlamada();

                if (usuario == null)
                {
                    return(null);
                }
            }

            return(CrearPrincipalDeUsuario(usuario.NIF, usuario.Rol));
        }
    }
예제 #2
0
    public Usuario Usuarios_ObtenerUsuarioPorNIF(string nif)
    {
        UsuariosCN usuariosCN = new UsuariosCN();

        return(usuariosCN.ObtenerUsuarioPorNIF(nif));
    }