protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            sesionUsuario = SesionUsuario.Instancia;

            // Por si no existe la base de datos
            var docsFolder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);

            directorioBD = System.IO.Path.Combine(docsFolder, "db_adonet.db");

            if (!File.Exists(directorioBD))
            {
                string cad = string.Empty;
                cad = sesionUsuario.CrearBaseDeDatos();
                Toast.MakeText(this, cad, ToastLength.Short) /*.Show()*/;
            }

            // De encontrarse que el usuario inició sesión previamente, saltar a la siguiente actividad.
            if (sesionUsuario.Conectado())
            {
                var intent = new Intent(this, typeof(ControladorInicioPartido));
                StartActivity(intent);
                Finish();
            }

            // Si el usuario no inició sesión, mostrarle vistas relacionadas al inicio de sesión.
            else
            {
                SetContentView(Resource.Layout.IuInicioSesion);
                FindViewById <Button>(Resource.Id.btnLogin).Click += ControladorInicioSesion_Click;
            }
        }
Exemple #2
0
        protected void BtnEntrar_Click(object sender, EventArgs e)
        {
            //Inicia
            bool login = SesionUsuario.IniciarSesion(TxtCorreo.Text.Trim(), TxtContraseña.Text.Trim());

            if (login)
            {
                int id = Datos.ObtenerID(TxtCorreo.Text.Trim());

                int tipo_usuario = Datos.ObtenerTipoUsuario(Convert.ToInt16(id));

                if (tipo_usuario == 1)
                {
                    int estado_usuario = Datos.ObtenerEstadoUsuario(Convert.ToInt16(id));

                    if (estado_usuario == 1)
                    {
                        Session["usuario"] = id;
                        string id_usuario = id.ToString();
                        FormsAuthentication.SetAuthCookie(id_usuario, false);
                        Response.Redirect("Datos.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                    else if (estado_usuario == 3)
                    {
                    }
                    else
                    {
                        Session["usuario"] = id;
                        string id_usuario = id.ToString();
                        FormsAuthentication.SetAuthCookie(id_usuario, false);
                        Response.Redirect("MiDinero.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                }

                if (tipo_usuario == 2)
                {
                    Session["usuario"] = id;
                    string id_usuario = id.ToString();
                    FormsAuthentication.SetAuthCookie(id_usuario, false);
                    Response.Redirect("Vender.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }

                if (tipo_usuario == 3)
                {
                    Session["usuario"] = id;
                    string id_usuario = id.ToString();
                    FormsAuthentication.SetAuthCookie(id_usuario, false);
                    Response.Redirect("Administrar.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
            }
            else
            {
                LbError.Visible = true;
                LbError.Text    = "El Correo y/o Contraseña son incorrectos";
            }
        }
        public SiteMapNodeCollection ObtenerPrimerGeneracion(SiteMapNode nodoPadre)
        {
            var hijos      = nodoPadre.ChildNodes;
            var listaHijos = new SiteMapNodeCollection();

            foreach (var hijoObj in hijos)
            {
                var hijo = (SiteMapNode)hijoObj;
                if (hijo.ParentNode != nodoPadre)
                {
                    continue;
                }
                if (!hijo.Url.Contains("javascript"))
                {
                    var url         = hijo.Url.Split('/');
                    var accion      = url[2];
                    var controlador = url[1];
                    if (SesionUsuario.PermitirMenu(accion, controlador))
                    {
                        listaHijos.Add(hijo);
                    }
                }
                else
                {
                    listaHijos.Add(hijo);
                }
            }
            return(listaHijos);
        }
Exemple #4
0
        public LoginData Login(string userName, string contrasena, string ip)
        {
            var usuario = _repositorioUsuario.ObtenerUsuarioParaLogin(new FiltroUsuarioParaLogin(userName, Encriptar.HashPassword(contrasena)));

            if (usuario == null)
            {
                return new LoginData {
                           Mensaje = "Usuario y/o contraseña inválidas."
                }
            }
            ;
            else if (!usuario.EstaActivo)
            {
                return new LoginData {
                           Mensaje = "Su usuario no esta activo para usar el software."
                }
            }
            ;
            else if (usuario.EstaBloqueado)
            {
                return new LoginData {
                           Mensaje = "Su usuario está bloqueado."
                }
            }
            ;
            else if (usuario.Empresas.Count == 0)
            {
                return new LoginData {
                           Mensaje = "Su usuario no tiene empresas asociadas."
                }
            }
            ;
            else if (usuario.Roles.Count == 0)
            {
                return new LoginData {
                           Mensaje = "Su usuario no tiene roles asociados."
                }
            }
            ;
            else
            {
                var sesion = new SesionUsuario {
                    FechaInicio = DateTime.Now, IdUsuario = usuario.IdUsuario, Ip = ip
                };

                _repositorioSesionUsuario.Agregar(sesion);
                return(new LoginData
                {
                    Mensaje = "Ok.",
                    FueOk = true,
                    IdUsuario = usuario.IdUsuario,
                    UserName = userName,
                    NombreUsuario = $"{usuario.Apellidos} {usuario.Nombres}",
                    IdSesion = sesion.IdSesion,
                    Empresas = usuario.Empresas,
                    Operaciones = ObtenerOperaciones(usuario.Roles)
                });
            }
        }
Exemple #5
0
        public string ValidarSesion(string stObj)
        {
            JObject       Jobj;
            clsUsuario    objClsUsuario;
            ValidarSesion objValidarSesion;
            SesionUsuario objSesion;

            try
            {
                Jobj             = JObject.Parse(stObj);
                objValidarSesion = new ValidarSesion();
                string stUsuario  = Jobj["usu_username"].ToString();
                string stPassword = Jobj["usu_password"].ToString();

                // Se llama al método para validar la sesión de usuario
                objClsUsuario    = new clsUsuario();
                objValidarSesion = objClsUsuario.ValidarSesion(stUsuario, stPassword);

                /* Si es diferente de 'null' (encuentra un registro), sigue con el proceso seteando la bandera en 'true'.
                 * Sino, setea la bandera en 'false' y termina el proceso. */
                if (objValidarSesion != null)
                {
                    objValidarSesion.usu_existe = true;

                    // Se genera y registra la sesión de usuario
                    objSesion = new SesionUsuario();
                    objSesion.su_fechaInicio = Jobj["su_fechaInicio"].ToString();
                    objSesion.su_horaInicio  = Jobj["su_horaInicio"].ToString();
                    objSesion.su_IDUsuario   = objValidarSesion.usu_IDUsuario;

                    objClsUsuario = new clsUsuario();
                    objSesion     = objClsUsuario.RegistrarSesionUsuario(objSesion);

                    // Se terminan de asignar los valores restantes al objeto de validación de sesión
                    objValidarSesion.usu_IDSesion = objSesion.su_IDSesion;
                }
                else
                {
                    objValidarSesion.usu_existe = false;
                }


                return(JsonConvert.SerializeObject(objValidarSesion));
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
            finally
            {
                Jobj             = null;
                objClsUsuario    = null;
                objValidarSesion = null;
                objSesion        = null;
            }
        }
Exemple #6
0
        public void StartUserSession(Usuario usuario)
        {
            var session = new SesionUsuario
            {
                Id                  = Guid.NewGuid().ToString(),
                Usuario             = usuario,
                FechaHoraCreacion   = DateTimeOffset.UtcNow,
                FechaHoraExpiracion = DateTimeOffset.UtcNow.AddMinutes(5)
            };

            _db.SesionUsuario.Add(session);
            _db.SaveChanges();

            // TODO hacky?
            _activeUserSessionTask = new Lazy <SesionUsuario>(() => session);

            _actionContext.HttpContext.Response.Cookies.Append(SessionCookieName, session.Id);
        }
        public string MenuHijo()
        {
            var nodoPadre = ObtenerNodoPadre(SesionUsuario.CurrentNode);

            if (nodoPadre == SiteMap.Provider.RootNode)
            {
                return("<ul class='menu-hijo'></ul>");
            }
            var hijos      = nodoPadre.ChildNodes;
            var listaHijos = new List <SiteMapNode>();

            foreach (var hijoObj in hijos)
            {
                var hijo = (SiteMapNode)hijoObj;
                if (hijo.ParentNode == nodoPadre)
                {
                    listaHijos.Add(hijo);
                }
            }
            var cadena = "<ul class='menu-hijo'>";

            foreach (var nodo in listaHijos)
            {
                var url         = nodo.Url.Split('/');
                var accion      = url[2];
                var controlador = url[1];
                if (!SesionUsuario.PermitirMenu(accion, controlador))
                {
                    continue;
                }
                cadena += "<li>";
                cadena += "<a href='" + nodo.Url + "'>";
                cadena += nodo.Title;
                cadena += "</a>";
                cadena += "</li>";
            }

            cadena += "</ul>";
            return(cadena);
        }
Exemple #8
0
 /// <summary>
 /// Obtiene todas las cartas de la base de datos y las almacena en assets.
 /// </summary>
 /// <param name="callback">Callback.</param>
 private void ObtenerAssets(CallBack callback)
 {
     reference.Child("assets").GetValueAsync().ContinueWith(task => {
         if (task.IsFaulted)
         {
             Debug.Log("Excepcion: " + task.Exception);
             callback.Invoke(SesionUsuario.GetErrorMessage(task.Exception));
             assets = null;
         }
         else if (task.IsCanceled)
         {
             Debug.Log("Excepcion: " + task.Exception);
             callback.Invoke(SesionUsuario.GetErrorMessage(task.Exception));
             assets = null;
         }
         else if (task.IsCompleted)
         {
             //Assigno los assets a una variable global
             assets = task.Result;
             callback.Invoke("");
         }
     });
 }
Exemple #9
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            Error oError = new Error();

            try
            {
                string usuarioLogin = context.UserName;
                var    identity     = new ClaimsIdentity(context.Options.AuthenticationType);
                context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });

                IFormCollection parameters = await context.Request.ReadFormAsync();


                SesionUsuario sesionUsuario = new SesionUsuario();
                string        GUID          = Assembly.GetExecutingAssembly().GetType().GUID.ToString().ToUpper();
                Usuario       userData      = new Usuario()
                {
                    usuario = context.UserName
                };

                identity.AddClaim(new Claim(ClaimTypes.Name, usuarioLogin));
                identity.AddClaim(new Claim(ClaimTypes.GivenName, "nombre"));
                identity.AddClaim(new Claim(ClaimTypes.Country, context.Scope[0].ToString()));         //Pais del usuario
                identity.AddClaim(new Claim(ClaimTypes.Locality, context.UserName.ToString()));        //Localidad usuario
                identity.AddClaim(new Claim(ClaimTypes.System, context.Request.RemoteIpAddress));      //Ip del cliente
                identity.AddClaim(new Claim(ClaimTypes.Hash, new Utils().GenerateStrongPassword(50))); //Hash para logs
                identity.AddClaim(new Claim(ClaimTypes.GroupSid, userData.AutenticaAD.ToString()));    //Tipo de autenticación

                var ticket = new AuthenticationTicket(identity, null);
                context.Validated(ticket);
            }
            catch (System.Exception ex)
            {
                context.SetError("ERROR - " + ex.Message);
                return;
            }
        }
Exemple #10
0
        public ActionResult Index(LoginQuery query)
        {
            var centro = contexto.Centros.FirstOrDefault(c => c.IdCentro == query.Centro);

            if (centro == null)
            {
                ViewBag.MensajeError = "Centro inválido.";
                return(View());
            }

            string action = null;
            var    sesion = new SesionUsuario()
            {
                Centro = centro
            };

            if (CryptoTools.ValidateHash(query.Clave, centro.SaltUsuario, centro.ClaveUsuario))
            {
                action         = "Create";
                sesion.EsAdmin = false;
            }
            else if (CryptoTools.ValidateHash(query.Clave, centro.SaltAdmin, centro.ClaveAdmin))
            {
                action         = "Incidencias";
                sesion.EsAdmin = true;
            }
            else
            {
                ViewBag.MensajeError = "Contraseña incorrecta.";
                SesionUsuario        = null;
                return(View());
            }

            SesionUsuario = sesion;
            return(RedirectToAction(action));
        }
Exemple #11
0
        public string RegistrarCierreSesion(string stObj)
        {
            JObject       Jobj;
            SelectSesion  objSelectSesion;
            SesionUsuario objSesion;
            clsUsuario    objClsUsuario;

            try
            {
                Jobj          = JObject.Parse(stObj);
                objClsUsuario = new clsUsuario();

                long IDSesion = Convert.ToInt64(Jobj["su_IDSesion"]);
                objSelectSesion = objClsUsuario.SelectSesion(IDSesion);

                objSesion                = new SesionUsuario();
                objSesion.su_IDSesion    = objSelectSesion.su_IDSesion;
                objSesion.su_fechaInicio = objSelectSesion.su_fechaInicio;
                objSesion.su_horaInicio  = objSelectSesion.su_horaInicio;
                objSesion.su_fechaFin    = Jobj["su_fechaFin"].ToString();
                objSesion.su_horaFin     = Jobj["su_horaFin"].ToString();
                objSesion.su_IDUsuario   = objSelectSesion.su_IDUsuario;

                return(JsonConvert.SerializeObject(objClsUsuario.ActualizarSesionUsuario(objSesion)));
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
            finally
            {
                objClsUsuario = null;
                Jobj          = null;
                objSesion     = null;
            }
        }
 public void Setup()
 {
     SesionUsuario = new SesionUsuario();
 }
Exemple #13
0
 public ActionResult Logout()
 {
     SesionUsuario = null;
     return(RedirectToAction("Index"));
 }
Exemple #14
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (this.username.Text == "")
            {
                MessageBox.Show("Debe ingresar un usuario", "Login Usuario");
                return;
            }

            if (this.password.Text == "")
            {
                MessageBox.Show("Debe ingresar una contraseña", "Login Usuario");
                return;
            }

            var con = new Conexion();

            con.query = "SELECT * FROM ONEFORALL.USUARIOS WHERE USER_USUARIO = '" + username.Text + "' AND USER_PASSWORD='******' AND USER_ACTIVO = 1 ;";

            con.leer();

            if (con.leerReader())
            {
                MessageBox.Show("Bienvenido " + con.lector.GetString(1) + "!");

                SesionUsuario.user.id       = con.lector.GetInt32(0);
                SesionUsuario.user.username = con.lector.GetString(1);

                con.cerrarConexion();
                con.query = "UPDATE ONEFORALL.USUARIOS SET USER_INTENTOS = 0 WHERE USER_ID =" + SesionUsuario.usuario.id;
                con.ejecutar();

                if (!SesionUsuario.usuario.tieneRolesActivos())
                {
                    MessageBox.Show("El usuario no posee Roles activos", "Login Usuario", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                //SesionUsuario.user.cargarFuncionalidadesRol();

                this.Hide();
                con.query = string.Format("SELECT COUNT(*) FROM ONEFORALL.USUARIO_X_ROL WHERE USERX_ID = {0}", SesionUsuario.user.id);
                con.leer();
                if (con.leerReader())
                {
                    if (con.lector.GetInt32(0) > 1)
                    {
                        new ElegirSucursalYRol().Show();
                    }
                    else
                    {
                        con.cerrarConexion();
                        con.query = string.Format("SELECT COUNT(*) FROM ONEFORALL.USUARIO_X_SUCURSAL WHERE USERX_ID = {0}", SesionUsuario.user.id);
                        con.leer();
                        if (con.leerReader())
                        {
                            if (con.lector.GetInt32(0) > 1)
                            {
                                new ElegirSucursalYRol().Show();
                                SesionUsuario.usuario.cargarFuncionalidadesRol();
                            }
                            else
                            {
                                SesionUsuario.CargarSucursalYRol();
                                new MenuPrincipal().ShowDialog();
                            }
                        }
                    }
                    con.cerrarConexion();
                }
            }
            else
            {
                con.query = "SELECT * FROM ONEFORALL.USUARIOS WHERE USER_USUARIO = '" + username.Text + "';";
                var intentosfallidos = 0;
                con.cerrarConexion();

                con.leer();

                if (con.leerReader())
                {
                    intentosfallidos = con.lector.GetByte(4);

                    if (!con.lector.GetBoolean(3))
                    {
                        MessageBox.Show("Su usuario se encuentra deshabilitado", "Login Usuario");
                        return;
                    }

                    con.cerrarConexion();
                    con.query = "UPDATE ONEFORALL.USUARIOS SET USER_INTENTOS = USER_INTENTOS + 1 WHERE USER_USUARIO='" + username.Text + "';";
                    con.ejecutar();

                    if (intentosfallidos >= 3)
                    {
                        con.query = "UPDATE ONEFORALL.USUARIOS SET USER_ACTIVO = 0 WHERE USER_USUARIO='" + username.Text + "';";
                        con.ejecutar();
                    }
                    MessageBox.Show("Ingrese nuevamente la contraseña", "Login Usuario");
                    con.cerrarConexion();
                    return;
                }
                else
                {
                    MessageBox.Show("El usuario no existe", "Login Usuario");
                    con.cerrarConexion();
                    return;
                }
            }
        }