public static ConjuntoDePermissoesUsuarioSistemas ObterConjuntoDePermissoesUsuario(HttpSessionState Session, string nomUsrRde = "", List <string> grupos = null)
    {
        ConjuntoDePermissoesUsuarioSistemas retorno = new ConjuntoDePermissoesUsuarioSistemas();

        //
        if ((!nomUsrRde.Equals(string.Empty)))
        {
            var bll = new ControleDeAcessoBLL();
            //
            retorno.InformacoesUsuario = bll.ObterInformacoesUsuario(0, nomUsrRde).FirstOrDefault();
            if (retorno.InformacoesUsuario != null)
            {
                retorno.SistemasPermitidos = bll.ObterSistemasPermitidos(CODSISINF, retorno.InformacoesUsuario.CODFNC);
                if (grupos != null)
                {
                    retorno.SistemasPermitidos = retorno.SistemasPermitidos.Where(x => grupos.Contains(x.DESGRPRDESISSMA)).ToList();
                }
            }
        }
        else if (Session["ConjuntoDePermissoesUsuario"] != null)
        {
            retorno = (ConjuntoDePermissoesUsuarioSistemas)Session["ConjuntoDePermissoesUsuario"];
        }
        //
        if (retorno != null && retorno.InformacoesUsuario != null && retorno.SistemasPermitidos.Count > 0)
        {
            Session["ConjuntoDePermissoesUsuario"] = retorno;
        }
        else
        {
            Session.Clear();
            Session.Abandon();
        }
        //
        return(retorno);
    }