protected bool ValidarUsuarioContrasenia(UsuarioEntidad UsuarioEntidadObjeto) { bool UsuarioContrasenia = true; string CadenaConexion = string.Empty; ResultadoEntidad Resultado = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObject = new UsuarioAcceso(); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); Resultado = UsuarioAccesoObject.SeleccionarUsuario(UsuarioEntidadObjeto, CadenaConexion); if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 0) { UsuarioContrasenia = false; } else { //string Texto = string.Empty; string Contrasenia = string.Empty; // UsuarioEntidad UsuarioEntidadGuardar = new UsuarioEntidad(); Password = EncriptarTexto.Desencriptar(Resultado.ResultadoDatos.Tables[0].Rows[0]["Contrasenia"].ToString()); //UsuarioEntidadObjeto.Contrasenia= NuevaContrasenia.Trim(); Texto = EncriptarTexto.Encriptar(UsuarioEntidadObjeto.NuevaContrasenia.Trim()); if (UsuarioEntidadObjeto.ContraseniaAnterior != Password) { UsuarioContrasenia = false; } } return(UsuarioContrasenia); }
public ResultadoEntidad RecuperarContrasenia(UsuarioEntidad UsuarioEntidadObjeto) { string CadenaConexion = string.Empty; string Contrasenia = string.Empty; ResultadoEntidad ResultadoEntidadObjeto = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObjeto = new UsuarioAcceso(); if (UsuarioEntidadObjeto.CuentaUsuario == "") { ResultadoEntidadObjeto.ErrorId = (int)ConstantePrograma.RecuperarContrasenia.CuentaNoValida; ResultadoEntidadObjeto.DescripcionError = TextoError.RecuperarCuentaNoValida; } else { CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); ResultadoEntidadObjeto = UsuarioAccesoObjeto.SeleccionarUsuario(UsuarioEntidadObjeto, CadenaConexion); if (ResultadoEntidadObjeto.ResultadoDatos.Tables[0].Rows.Count == 0) { ResultadoEntidadObjeto.ErrorId = (int)ConstantePrograma.RecuperarContrasenia.CuentaNoExiste; ResultadoEntidadObjeto.DescripcionError = TextoError.RecuperarCuentaNoExiste; } else { Contrasenia = EncriptarTexto.Desencriptar(ResultadoEntidadObjeto.ResultadoDatos.Tables[0].Rows[0]["Contrasenia"].ToString()); EnviarCorreo(UsuarioEntidadObjeto.AplicacionId, UsuarioEntidadObjeto.CuentaUsuario, Contrasenia, ConstantePrograma.AsuntoRecuperacionContrasenia, ConstantePrograma.CorreoRecuperarContrasenia); ResultadoEntidadObjeto.ErrorId = (int)ConstantePrograma.RecuperarContrasenia.CorreoEnviado; } } return(ResultadoEntidadObjeto); }
protected ResultadoEntidad EliminarUsuario(SqlConnection Conexion, SqlTransaction Transaccion, Int16 UsuarioId) { ResultadoEntidad ResultadoEntidadObjeto = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObjeto = new UsuarioAcceso(); ResultadoEntidadObjeto = UsuarioAccesoObjeto.EliminarUsuario(Conexion, Transaccion, UsuarioId); return(ResultadoEntidadObjeto); }
public ResultadoEntidad SeleccionarUsuario(UsuarioEntidad UsuarioEntidadObjeto) { string CadenaConexion = string.Empty; ResultadoEntidad Resultado = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObject = new UsuarioAcceso(); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); Resultado = UsuarioAccesoObject.SeleccionarUsuario(UsuarioEntidadObjeto, CadenaConexion); return(Resultado); }
public ResultadoEntidad GuardarUsuario(UsuarioEntidad UsuarioObjetoEntidad) { bool EnviarCorreoUsuario = false; string CadenaConexion = string.Empty; string Contrasenia = string.Empty; ResultadoEntidad ResultadoObjetoEntidad = new ResultadoEntidad(); UsuarioAcceso UsuarioObjetoAcceso = new UsuarioAcceso(); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); if (UsuarioObjetoEntidad.UsuarioId == 0) { // Validar que el usuario no se repita if (ExisteCuentaUsuario(UsuarioObjetoEntidad.CuentaUsuario)) { ResultadoObjetoEntidad.ErrorId = (int)ConstantePrograma.Usuario.ExisteCuentaUsuario; ResultadoObjetoEntidad.DescripcionError = TextoError.UsuarioCuentaExiste.Replace("{0}", UsuarioObjetoEntidad.CuentaUsuario); } else { // Hay que generar una contraseña aleatoria Contrasenia = CadenaAleatoria.GenerarCadenaAleatoria(5); UsuarioObjetoEntidad.Contrasenia = EncriptarTexto.Encriptar(Contrasenia); EnviarCorreoUsuario = true; ResultadoObjetoEntidad = UsuarioObjetoAcceso.InsertarUsuario(UsuarioObjetoEntidad, CadenaConexion); } } else { ResultadoObjetoEntidad = UsuarioObjetoAcceso.ActualizarUsuario(UsuarioObjetoEntidad, CadenaConexion); } if (ResultadoObjetoEntidad.ErrorId == (int)ConstantePrograma.Usuario.GuardadoExitoso) { // Hay que enviar un correo electrónico con la contraseña generada if (EnviarCorreoUsuario) { EnviarCorreo(UsuarioObjetoEntidad.AplicacionId, UsuarioObjetoEntidad.CuentaUsuario, Contrasenia, ConstantePrograma.AsuntoUsuarioNuevo, ConstantePrograma.CorreoNuevoUsuario); } } return(ResultadoObjetoEntidad); }
public ResultadoEntidad EliminarUsuario(string CadenaUsuarioId) { string CadenaConexion = string.Empty; string[] ArrayUsuario; SqlTransaction Transaccion; SqlConnection Conexion; ResultadoEntidad ResultadoEntidadObjeto = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObjeto = new UsuarioAcceso(); if (CadenaUsuarioId != "") { ArrayUsuario = CadenaUsuarioId.Split(','); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); Conexion = new SqlConnection(CadenaConexion); Conexion.Open(); Transaccion = Conexion.BeginTransaction(); foreach (string UsuarioId in ArrayUsuario) { if (UsuarioId != "") { ResultadoEntidadObjeto = EliminarUsuario(Conexion, Transaccion, Int16.Parse(UsuarioId)); if (ResultadoEntidadObjeto.ErrorId != (int)ConstantePrograma.Usuario.EliminacionExitosa) { Transaccion.Rollback(); break; } } } if (ResultadoEntidadObjeto.ErrorId == (int)ConstantePrograma.Usuario.EliminacionExitosa) { Transaccion.Commit(); } } return(ResultadoEntidadObjeto); }
public ResultadoEntidad CambiarContrasenia(UsuarioEntidad UsuarioEntidadActual) { string CadenaConexion = string.Empty; string Contrasenia = string.Empty; ResultadoEntidad ResultadoEntidadObjeto = new ResultadoEntidad(); UsuarioAcceso UsuarioAccesoObjeto = new UsuarioAcceso(); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); if (ValidarCambiarContrasenia(UsuarioEntidadActual, ref ResultadoEntidadObjeto)) { //Texto = EncriptarTexto.Encriptar(NuevaContrasenia); UsuarioEntidadActual.NuevaContrasenia = Texto; //UsuarioAccesoObjeto.Texto = EncriptarTexto.Encriptar(Contrasenia); UsuarioAccesoObjeto.CambiarContrasenia(UsuarioEntidadActual, CadenaConexion); } return(ResultadoEntidadObjeto); }
/// <summary> /// Guarda los datos del acceso del usuario /// </summary> /// <param name="token">Datos del token</param> /// <param name="usuarioId">Id del usuario</param> /// <param name="ip">Ip de la cual se conecta el usuario</param> /// <param name="navegador">Navegador del cual se conecta el usuario</param> /// <returns></returns> public async Task <bool> GuardarAccesoAsync(TokenDTO token, int usuarioId, string ip, string navegador) { IPGeoLocation ipGeoLocation = new IPGeoLocation(); if (datosIP == null) { datosIP = await ObtenerDatosIPAsync(ip, ipGeoLocation); } var usuarioAcceso = new UsuarioAcceso(); usuarioAcceso.Ciudad = datosIP.city; usuarioAcceso.Estado = datosIP.subdivision; usuarioAcceso.Navegador = navegador; usuarioAcceso.UsuarioId = usuarioId; usuarioAcceso.Fecha = DateTime.Now; usuarioAcceso.Token = token.Token.Split(".")[2]; usuarioAcceso.Activo = true; usuarioAcceso.SistemaOperativo = "Default"; usuarioAcceso.RefreshToken = token.RefreshToken; usuarioAcceso.Navegador = "Default"; contexto.UsuarioAcceso.Add(usuarioAcceso); contexto.SaveChanges(); return(true); }
public ResultadoEntidad IdentificarUsuario(UsuarioEntidad UsuarioObjetoEntidad) { string ContraseniaEncriptada = string.Empty; string DatabasePassword = string.Empty; string CadenaConexion = string.Empty; HttpContext Contexto = HttpContext.Current; ResultadoEntidad ResultadoObjetoEntidad = new ResultadoEntidad(); UsuarioAcceso UsuarioObjetoAcceso = new UsuarioAcceso(); CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Seguridad); ResultadoObjetoEntidad = UsuarioObjetoAcceso.SeleccionarUsuario(UsuarioObjetoEntidad, CadenaConexion); if (ResultadoObjetoEntidad.ErrorId == (int)ConstantePrograma.IdentificarUsuario.ValorPorDefecto) { if (ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows.Count == 0) { ResultadoObjetoEntidad.ErrorId = (int)ConstantePrograma.IdentificarUsuario.UsuarioContraseniaIncorrecta; } else { if (UsuarioObjetoEntidad.Contrasenia == ConfigurationManager.AppSettings["Activos.Web.RememberPassword"].ToString()) { ContraseniaEncriptada = ObtenerContrasenia(); } else { ContraseniaEncriptada = EncriptarTexto.Encriptar(UsuarioObjetoEntidad.Contrasenia); } DatabasePassword = ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["Contrasenia"].ToString(); if (ContraseniaEncriptada == DatabasePassword) { UsuarioObjetoEntidad.UsuarioId = Int16.Parse(ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["UsuarioId"].ToString()); UsuarioObjetoEntidad.AplicacionId = (int)ConstantePrograma.AplicacionId.Activos; UsuarioObjetoEntidad.RolId = Int16.Parse(ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["RolId"].ToString()); UsuarioObjetoEntidad.EstatusId = Int16.Parse(ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["EstatusId"].ToString()); UsuarioObjetoEntidad.Nombre = ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["Nombre"].ToString(); UsuarioObjetoEntidad.ApellidoPaterno = ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["ApellidoPaterno"].ToString(); UsuarioObjetoEntidad.ApellidoMaterno = ResultadoObjetoEntidad.ResultadoDatos.Tables[0].Rows[0]["ApellidoMaterno"].ToString(); if (UsuarioObjetoEntidad.EstatusId == (int)ConstantePrograma.EstatusUsuario.Activo) { BoletoAutenticacion.IdentificarUsuario(UsuarioObjetoEntidad.CuentaUsuario, Contexto.Session.Timeout); GuardarCookie(ConstantePrograma.CookieCuenta, UsuarioObjetoEntidad.CuentaUsuario, Contexto); Contexto.Session.Add("UsuarioEntidad", UsuarioObjetoEntidad); if (UsuarioObjetoEntidad.RecordarContrasenia) { GuardarCookie(ConstantePrograma.CookieContrasenia, DatabasePassword, Contexto); GuardarCookie(ConstantePrograma.CookieRecordar, ConfigurationManager.AppSettings["Activos.Web.RememberPassword"].ToString(), Contexto); } else { GuardarCookie(ConstantePrograma.CookieContrasenia, "", Contexto); GuardarCookie(ConstantePrograma.CookieRecordar, "", Contexto); } } else { ResultadoObjetoEntidad.ErrorId = (int)ConstantePrograma.IdentificarUsuario.UsuarioInactivo; } } else { ResultadoObjetoEntidad.ErrorId = (int)ConstantePrograma.IdentificarUsuario.UsuarioContraseniaIncorrecta; } } } return(ResultadoObjetoEntidad); }
protected void btningreso_Click(object sender, EventArgs e) { string sPagina = "~/"; try { UpdateProg1.Visible = true; PProgresso.Style.Value = "Display:block;"; DateTime fFecha = Convert.ToDateTime(Session["fFecha"]); sUser = txtuser.Text.ToLower(); sPassw = txtpassw.Text; //Se deshabilita la verificacion de sesion //DataTable dtsesionuser = null; //dtsesionuser = ProcesoAdmin.Get_User_Sesion_Conteo(sUser); //if (dtsesionuser.Rows.Count > 0) //{ // this.Session["encabemensa"] = "Error de Autenticacion"; // this.Session["mensaje"] = "El Usuario" + " " + sUser + " " + "ya tiene" + "<br>" + "una sesion SIGE Activa"; // this.Session["cssclass"] = "MensajesSupervisor"; // Mensajes_Usuario(); // return; //} //ProcesoAdmin.Get_Obtener_User_Sesion(sUser); //Guardar las variables de sesión this.Session["sUser"] = sUser; this.Session["sPassw"] = sPassw; this.Session["fFecha"] = fFecha; //Session["Service"] = 254; //Session["Canal"]="1000"; EUsuario oeUsuario = oUsuario.obtener(sUser, sPassw); sCoutry = oeUsuario.codCountry; sDepartament = oeUsuario.coddepartam; scity = oeUsuario.codcity; smail = oeUsuario.PersonEmail; this.Session["smail"] = smail; this.Session["companyid"] = oeUsuario.companyid; this.Session["fotocomany"] = oeUsuario.fotocompany; sNombre = oeUsuario.companyName; this.Session["sNombre"] = sNombre; snameuser = oeUsuario.PersonFirtsname + " " + oeUsuario.PersonSurname; this.Session["nameuser"] = snameuser; smodul = oeUsuario.Moduloid; this.Session["scountry"] = sCoutry; this.Session["scity"] = scity; this.Session["personid"] = oeUsuario.Personid; this.Session["smodul"] = smodul; idnivel = oeUsuario.idlevel; this.Session["idnivel"] = idnivel; snamenivel = oeUsuario.leveldescription; this.Session["namenivel"] = snamenivel; this.Session["Perfilid"] = oeUsuario.Perfilid; this.Session["nameperfil"] = oeUsuario.NamePerfil; this.Session["Service"] = 254; this.Session["Canal"] = "0"; this.Session["Nivel"] = 0; Sesion_Users su = new Sesion_Users(); //string HostName =System.Net.Dns.GetHostByAddress(Request.UserHostAddress).HostName; //string RemoteHost = HttpContext.Current.Request.UserHostAddress; //string RemoteHost = HttpContext.Current.Request.ServerVariables["HTTP_USER_ADDR"]; string RemoteHost = Request.ServerVariables["REMOTE_ADDR"]; su.Registrar_Auditoria(this.Session["sUser"].ToString(), Convert.ToInt32(this.Session["companyid"]), RemoteHost, DateTime.Now); ObtenerDatosEnvioMail(); if (oeUsuario != null) { UsuarioAcceso oUsuarioAcceso = new UsuarioAcceso(); EUsuarioAcceso oeUsuarioAcceso = new EUsuarioAcceso(); oeUsuarioAcceso = oUsuarioAcceso.obtenerAleatorioxUsuario(sUser, sPassw); UniqueLogin(sUser); AplicacionWeb oAplicacionWeb = new AplicacionWeb(); EAplicacionWeb oeAplicacionWeb = oAplicacionWeb.obtenerAplicacion(sCoutry, smodul); this.Session["oeAplicacionWeb"] = oeAplicacionWeb; this.Session["cod_applucky"] = oeAplicacionWeb.codapplucky; this.Session["abr_app"] = oeAplicacionWeb.abrapp; this.Session["app_url"] = oeAplicacionWeb.appurl; sPagina = oeAplicacionWeb.HomePage; oeUsuarioAcceso = null; oeAplicacionWeb = null; oAplicacionWeb = null; } //PProgresso.Style.Value = "Display:none"; //PProgresso_ModalPopupExtender.Hide(); } catch (Exception ex) { Lucky.CFG.Exceptions.Exceptions exs = new Lucky.CFG.Exceptions.Exceptions(ex); string errMessage = ""; if (ex.Message.Substring(0, 20) == "Error en la Autenticación de Usuario" || ex.Message.Substring(0, 20) == "La Clave es Errrada o Usuario no Existe") { //errMessage = new Lucky.CFG.Util.Functions().preparaMsgError(ex.Message); //this.Response.Redirect("~/err_mensaje.aspx?msg=" + errMessage, true); this.Session["encabemensa"] = "Error de Autenticación"; this.Session["mensaje"] = "Usuario y/o Clave Erradas"; this.Session["cssclass"] = "MensajesSupervisor"; Mensajes_Usuario(); return; } else { //Enviar error a fin de evitar que este se pierda con el redirect de página. exs.Country = "SIGE(" + ConfigurationManager.AppSettings["COUNTRY"] + ") - Usuario " + this.Session["sUser"].ToString(); string sCountry = ConfigurationManager.AppSettings["COUNTRY"]; //exs.errorWebsite(sCountry); //errMessage += new Lucky.CFG.Util.Functions().preparaMsgError(ex.Message); errMessage = "Error de Autenticacion para " + ' ' + sUser + ' ' + "Clave errada o Usuario Inactivo"; this.Session["errMessage"] = errMessage; //this.Response.Redirect("~/err_mensaje.aspx?msg=" + errMessage, true); this.Session["encabemensa"] = "Error de Autenticacion"; this.Session["mensaje"] = "Usuario y/o Clave Erradas"; this.Session["cssclass"] = "MensajesSupervisor"; ProcesoAdmin.Get_Delete_Sesion_User(sUser); Mensajes_Usuario(); return; } } EEntrySeccion oeSeccion = oSeccion.PrimerAcceso(sUser); if (oeSeccion.seccionname == "1") { Response.Redirect("Cambio_pswd.aspx", true); } //if (Request.Cookies["SIGE_URLRedirect"] == null) //{ // this.Response.Redirect("~/" + sPagina, true); //} else { //HttpCookie hcURLRedirect = Request.Cookies["SIGE_URLRedirect"]; this.Response.Redirect("~/" + sPagina, true); } }