示例#1
0
    public static void establecerVariableSesion(string[] datos)
    {
        //datos[0] = nombre
        //datos[1] = codred
        BLL.Profesional cProfesional = new BLL.Profesional();

        try
        {
            Models.Profesional oProfesional = cProfesional.Obtener(datos[1]);
            if (oProfesional.bIdentificado)
            {
                cProfesional.CargarRoles(oProfesional);

                //Dejo todo el objeto el la variable de sesión PROFESIONAL
                HttpContext.Current.Session["PROFESIONAL"] = oProfesional;
            }
            else
            {
                throw new Exception("No se ha podido autenticar al usuario.");
            }
        }
        catch (Exception ex)
        {
            throw new Exception("Ocurrió un error autenticando al usuario");
        }
        finally
        {
            cProfesional.Dispose();
        }
    }
示例#2
0
    public static string[] loginUser()
    {
        string[] result = new string[2];

        DbConn dbconn = null;

        IB.Progress.BLL.Profesional cProfesional = null;
        try
        {
            //Abro conexión
            dbconn = new DbConn();
            IB.Progress.Models.Profesional oProfesional = new IB.Progress.Models.Profesional();
            cProfesional = new IB.Progress.BLL.Profesional(dbconn.dblibclass);

            IB.Progress.Models.Aplicacion oAplicacion = new IB.Progress.Models.Aplicacion();

            oAplicacion = cProfesional.Acceso();

            //Comprobamos el estado de la aplicación
            if (!oAplicacion.Estado)
            {
                result[0] = "1";
                result[1] = oAplicacion.Motivo.ToString();
                return(result);
            }


            //Esta variable de sesión la usamos para no dejar acceder a ninguna página cuando la web está en mantenimiento.
            HttpContext.Current.Session["ACCESO"] = 1;

            oProfesional = cProfesional.Obtener(HttpContext.Current.Session["IDRED"].ToString());
            if (oProfesional.bIdentificado)
            {
                cProfesional.CargarRoles(oProfesional);

                //Dejo todo el objeto el la variable de sesión PROFESIONAL
                HttpContext.Current.Session["PROFESIONAL"]         = oProfesional;
                HttpContext.Current.Session["PROFESIONAL_ENTRADA"] = oProfesional;
            }
            else
            {
                //Muestro el contenedor de usuario no autorizado.
                result[0] = "2";
                result[1] = "";
                return(result);
            }

            //Destruyo la conexión
            //Destruyo las clases
            if (cProfesional != null)
            {
                cProfesional.Dispose();
            }
            dbconn.Dispose();

            result[0] = "0";
            result[1] = "";
            return(result);
        }
        catch (Exception)
        {
            //Destruyo la conexión
            if (cProfesional != null)
            {
                cProfesional.Dispose();
            }
            dbconn.Dispose();
            throw;
        }
    }