示例#1
0
    protected void Login_Conductor_Authenticate1(object sender, AuthenticateEventArgs e)
    {
        Conductor conductor = new Conductor();

        conductor.Usuario    = Login_Conductor.UserName;
        conductor.Contrasena = Login_Conductor.Password;

        ((Label)Login_Conductor.FindControl("LN_Mensaje")).Text = new LConductor().login(conductor);
        //Session["user"] = null; //Variable vacia (No ha iniciado sesión)

        conductor = new DaoConductor().login(conductor);
        MAC             conexion = new MAC();
        AccesoConductor accesoc  = new AccesoConductor();

        object s = Session["user"] = conductor; //Variable llena (Se inicio sesión)

        if (s != null)
        {
            Session["user"] = conductor;

            accesoc.FechaInicio = DateTime.Now;
            accesoc.Ip          = conexion.ip();
            accesoc.Mac         = conexion.mac();
            accesoc.Session     = Session.SessionID;
            accesoc.IdConductor = conductor.IdConductor;
            new DaoSeguridadConductor().insertarAcceso(accesoc);
        }
    }
 //Inserta acceso al iniciar sesion
 public async Task insertarAcceso(AccesoConductor accesoConductor)
 {
     using (var db = new MapeoConductor())
     {
         db.accesoconductor.Add(accesoConductor);
         await db.SaveChangesAsync();
     }
 }
        //Cierra acceso al cerrar sesion
        public async Task cerrarAcceso(int id_conductor)//S
        {
            using (var db = new MapeoConductor())
            {
                AccesoConductor acceso = db.accesoconductor.Where(x => x.IdConductor == id_conductor && x.FechaFin == null).FirstOrDefault();
                acceso.FechaFin = DateTime.Now;

                db.accesoconductor.Attach(acceso);

                var entry = db.Entry(acceso);
                entry.State = EntityState.Modified;
                await db.SaveChangesAsync();
            }
        }
示例#4
0
        public async Task <IHttpActionResult> login(LoginRequest login)
        {
            if (!ModelState.IsValid)
            {
                string error = "Entradas incorrectas";
                foreach (var state in ModelState)
                {
                    foreach (var item in state.Value.Errors)
                    {
                        error += $" {item.ErrorMessage}";
                    }
                }
                return(BadRequest(error));
            }
            Conductor conductor = await new LConductor().login(login);

            if (conductor == null)
            {
                string mensaje = "Usuario y/ o contraseña incorrecta";
                return(BadRequest(mensaje));
            }
            else
            {
                var token = TokenGeneratorCo.GenerateTokenJwt(conductor);
                LCerrarSesionConductor conexion = new LCerrarSesionConductor();
                AccesoConductor        acceso   = new AccesoConductor();
                acceso.FechaInicio = DateTime.Now;
                acceso.Ip          = conexion.ip();
                acceso.Mac         = conexion.mac();
                acceso.Session     = token;
                acceso.IdConductor = conductor.IdConductor;
                await new LCerrarSesionConductor().insertarAcceso(acceso);

                return(Ok(token));
            }
        }
 public async Task insertarAcceso(AccesoConductor acceso)
 {
     await new DaoSeguridadConductor().insertarAcceso(acceso);
 }