public async Task <Response> CambiarContraseñaUsuariosExternos([FromBody] CambiarContrasenaViewModel cambiarContrasenaViewModel)
        {
            try
            {
                var salida = CodificarHelper.SHA512(new Codificar {
                    Entrada = cambiarContrasenaViewModel.ContrasenaActual
                }).Salida;
                var usuario = await db.Adscpassw.Where(x => x.AdpsLogin.ToUpper() == cambiarContrasenaViewModel.Usuario.ToUpper() && x.AdpsPasswPoint == salida).FirstOrDefaultAsync();

                if (usuario == null)
                {
                    return(new Response {
                        IsSuccess = false, Message = Mensaje.UsuariooContrasenaIncorrecto
                    });
                }

                if (usuario.AdpsTipoUso != Constantes.UsuarioInterno)
                {
                    SincorizarContrasenaUsuarioExternos(cambiarContrasenaViewModel.Usuario, cambiarContrasenaViewModel.ConfirmacionContrasena);
                    return(new Response {
                        IsSuccess = true, Message = Mensaje.CambioContrasenaExito
                    });
                }

                return(new Response {
                    IsSuccess = false, Message = Mensaje.NoHabilitadoCambioContrasena
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
        private async Task <Response> AutenticarBDD(Adscpassw usuario, Login login)
        {
            var salida = CodificarHelper.SHA512(new Codificar {
                Entrada = login.Contrasena
            }).Salida;
            var existeLogin = db.Adscpassw.Where(x => x.AdpsLogin.ToUpper() == login.Usuario.ToUpper() && x.AdpsPasswPoint == salida).FirstOrDefault();

            if (existeLogin == null)
            {
                usuario.AdpsIntentos    = usuario.AdpsIntentos + 1;
                db.Entry(usuario).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.UsuariooContrasenaIncorrecto,
                    Resultado = "",
                });
            }

            usuario.AdpsIntentos    = 0;
            db.Entry(usuario).State = EntityState.Modified;
            return(new Response
            {
                IsSuccess = true,
                Message = "Ok",
                Resultado = existeLogin,
            });
        }
示例#3
0
        public async Task <ActionResult> Create(Agente agente)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.SectorId = new SelectList(await obtenerSectoresPorEmpresa(), "SectorId", "NombreSector", agente.SectorId);
                return(View(agente));
            }
            IdentityPersonalizado ci = (IdentityPersonalizado)HttpContext.User.Identity;
            string nombreUsuario     = ci.Identity.Name;
            var    administrador     = new Administrador {
                Nombre = nombreUsuario
            };

            administrador = await ProveedorAutenticacion.GetUser(administrador);

            var codificar = CodificarHelper.SHA512(new Codificar {
                Entrada = agente.Nombre
            });

            agente.Contrasena = codificar.Salida;
            agente.EmpresaId  = administrador.EmpresaId;

            var response = await ApiServicio.InsertarAsync(agente,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/Agentes/CreateAgente");


            if (!response.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            return(RedirectToAction("Index", "Agentes"));
        }
示例#4
0
        public async Task <ActionResult> Create(Vendedor vendedor)
        {
            if (!ModelState.IsValid)
            {
                return(View(vendedor));
            }
            IdentityPersonalizado ci = (IdentityPersonalizado)HttpContext.User.Identity;
            string nombreUsuario     = ci.Identity.Name;
            var    administrador     = new Administrador {
                Nombre = nombreUsuario
            };

            administrador = await ProveedorAutenticacion.GetUser(administrador);

            var codificar = CodificarHelper.SHA512(new Codificar {
                Entrada = vendedor.Nombre
            });

            vendedor.Contrasena = codificar.Salida;
            vendedor.EmpresaId  = administrador.EmpresaId;

            var response = await ApiServicio.InsertarAsync(vendedor,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/Vendedors/CreateVendedor");

            if (!response.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            return(RedirectToAction("Index", "Vendedores"));
        }
        public async Task <Response> Login([FromBody] Login login)
        {
            try
            {
                var respuesta = new Response();
                var usuario   = db.Adscpassw.Where(x => x.AdpsLogin.ToUpper() == login.Usuario.ToUpper()).FirstOrDefault();

                if (usuario == null)
                {
                    return(new Response {
                        IsSuccess = false, Message = Mensaje.UsuariooContrasenaIncorrecto
                    });
                }

                if (usuario.AdpsTipoUso == Constantes.UsuarioInterno)
                {
                    respuesta = _authService.Login(login.Usuario, login.Contrasena);
                    if (respuesta.IsSuccess)
                    {
                        var salida = CodificarHelper.SHA512(new Codificar {
                            Entrada = login.Contrasena
                        }).Salida;
                        if (salida != usuario.AdpsPasswPoint)
                        {
                            SincorizarContrasena(login.Usuario, login.Contrasena);
                        }
                        return(new Response {
                            IsSuccess = true
                        });
                    }
                    else
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.UsuariooContrasenaIncorrecto
                        });
                    }
                }

                respuesta = ValidarFechaCaducidad(usuario);
                if (!respuesta.IsSuccess)
                {
                    return(respuesta);
                }
                respuesta = ValidarNumeroIntentos(usuario);
                if (!respuesta.IsSuccess)
                {
                    return(respuesta);
                }

                respuesta = await AutenticarBDD(usuario, login);

                if (!respuesta.IsSuccess)
                {
                    return(respuesta);
                }

                usuario.AdpsIntentos    = 0;
                db.Entry(usuario).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(respuesta);
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwSeguridad),
                    ExceptionTrace       = ex,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    Message  = ex.Message,
                    UserName = login.Usuario,
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                });

                throw;
            }
        }
        public async Task <Response> PostAdscpassw([FromBody] Adscpassw adscpassw)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var respuesta = Existe(adscpassw);
                if (!respuesta.IsSuccess)
                {
                    adscpassw.AdpsFechaCambio           = DateTime.Now;
                    adscpassw.AdpsFechaVencimiento      = DateTime.Now.AddMonths(3);
                    adscpassw.AdpsIntentos              = 0;
                    adscpassw.AdpsPassword              = adscpassw.AdpsLogin;
                    adscpassw.AdpsPasswCg               = adscpassw.AdpsLogin;
                    adscpassw.AdpsPreguntaRecuperacion  = Mensaje.UsuarioSinConfirmar;
                    adscpassw.AdpsRespuestaRecuperacion = Mensaje.UsuarioSinConfirmar;



                    adscpassw.AdpsPasswPoint = CodificarHelper.SHA512(new Codificar {
                        Entrada = adscpassw.AdpsLogin
                    }).Salida;
                    db.Adscpassw.Add(adscpassw);
                    await db.SaveChangesAsync();

                    SincorizarContrasena(adscpassw.AdpsLogin, adscpassw.AdpsLogin);
                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = adscpassw,
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwSeguridad),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }