Example #1
0
        /// <summary>
        /// Método encargado de Validar la Existencia de un Usuario
        /// </summary>
        /// <param name="email">E-mail</param>
        /// <param name="contrasena">Contraseña</param>
        /// <returns></returns>
        public string ValidaUsuarioContrasena(string email, string contrasena)
        {
            //Declarando objeto de retorno
            RetornoOperacion result = new RetornoOperacion();

            //Instanciando usuario
            using (SAT_CL.Seguridad.Usuario u = new SAT_CL.Seguridad.Usuario(email))
            {
                //Validando si existe
                if (u.habilitar)
                {
                    //Realizando autenticación de usuario solicitado
                    result = u.AutenticaUsuario(contrasena);

                    //Validando Operación Exitosa
                    if (result.OperacionExitosa)
                    {
                        //Instanciando Usuario
                        result = new RetornoOperacion(u.id_usuario);
                    }
                }
                else
                {
                    //Instanciando Excepción
                    result = new RetornoOperacion("No Existe el Usuario");
                }
            }

            //Devolviendo Resultado Obtenido
            return(result.ToXMLString());
        }
Example #2
0
        public IHttpActionResult Authenticate(LoginRequest login)
        {
            if (login == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            //Declaramos Objeto Resultado
            RetornoOperacion Resultado = new RetornoOperacion();

            //Instanciamos Usuario de acuerdo al e-mail proporcionado
            using (Usuario objUsuario = new SAT_CL.Seguridad.Usuario(login.UserName))
            {
                //Autenticando Usuario
                Resultado = objUsuario.AutenticaUsuario(login.Password);

                //Si la Autenticación es correcta
                if (Resultado.OperacionExitosa)
                {
                    DataTable UsuarioCompanias = SAT_CL.Seguridad.UsuarioCompania.ObtieneCompaniasUsuario(objUsuario.id_usuario);
                    if (UsuarioCompanias.Rows.Count == 1)
                    {
                        DataRow DR    = UsuarioCompanias.Rows[0];
                        string  token = TokenGenerator.GenerateTokenJwt(objUsuario.id_usuario + "|" + Convert.ToString(DR["IdCompaniaEmisorReceptor"]));

                        AuthResponse authresponse = new AuthResponse
                        {
                            success = true,
                            data    = new DataLogin {
                                Token = token
                            },
                            errors = new Errors {
                                code = 0, source = new Source {
                                    pointer = ""
                                }, title = "", detail = "Sin errores"
                            }
                        };
                        //string json = JsonConvert.SerializeObject(authresponse);
                        return(Ok(authresponse));
                    }
                    else
                    {
                        FailAuthResponse failauthresponse = new FailAuthResponse
                        {
                            isSucceded = false,
                            message    = "El usuario tiene asignadas más de una compañía."
                        };
                        //string json = JsonConvert.SerializeObject(failauthresponse);
                        return(Json(failauthresponse));
                    }
                }
                else
                {
                    FailAuthResponse failauthresponse = new FailAuthResponse
                    {
                        isSucceded = false,
                        message    = "No se encontraron datos para este cliente."
                    };
                    //string json = JsonConvert.SerializeObject(failauthresponse);
                    return(Json(failauthresponse));
                }
            }
        }
Example #3
0
        /// <summary>
        /// Realiza las validaciones necesarias sobre la cuenta de usuario indicada y permite el acceso remoto a la plataforma.
        /// </summary>
        /// <param name="email">Email registrado en cuenta de usuario activa</param>
        /// <param name="contrasena">Contraseña asignada por el usuario para su inicio de sesión</param>
        /// <returns>TSDK.Base.RetornoOperacion en formato xml</returns>
        public string AutenticaUsuario(string email, string contrasena)
        {
            //Declarando objeto de retorno
            RetornoOperacion resultado;
            int idTipoReferencia = 0;

            //Validando conjunto de datos requeridos
            if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(contrasena))
            {
                //Instanciando usuario
                using (SAT_CL.Seguridad.Usuario u = new SAT_CL.Seguridad.Usuario(email))
                {
                    //Realizando autenticación de usuario solicitado
                    resultado = u.AutenticaUsuario(contrasena);

                    //Validando Operación Exitosa
                    if (resultado.OperacionExitosa)
                    {
                        //Obteniendo Tipo
                        idTipoReferencia = ReferenciaTipo.ObtieneIdReferenciaTipo(0, 30, "Codigo Acceso", 0, "Configuración");

                        //Obteniendo Referencia de Codigo
                        using (DataTable dtReferencias = Referencia.CargaReferencias(u.id_usuario, 30, idTipoReferencia))
                        {
                            //Validando que exista la Referencia
                            if (Validacion.ValidaOrigenDatos(dtReferencias))
                            {
                                //Recorriendo Ciclo
                                foreach (DataRow dr in dtReferencias.Rows)
                                {
                                    //Editando Referencia
                                    resultado = Referencia.EditaReferencia(Convert.ToInt32(dr["Id"]), idTipoReferencia, Cadena.CadenaAleatoria(0, 0, 4), u.id_usuario);

                                    //Terminando Ciclo
                                    break;
                                }
                            }
                            else
                            {
                                //Insertando Referencia de Usuario
                                resultado = Referencia.InsertaReferencia(u.id_usuario, 30, idTipoReferencia, Cadena.CadenaAleatoria(0, 0, 4), Fecha.ObtieneFechaEstandarMexicoCentro(), u.id_usuario);
                            }
                        }
                    }

                    //Validando Operación
                    if (resultado.OperacionExitosa)
                    {
                        //Instanciando Id de Usuario
                        resultado = new RetornoOperacion(u.id_usuario);
                    }
                }
            }
            else
            {
                //Instanciando Excepción
                resultado = new RetornoOperacion(string.Format("{0} {1}", string.IsNullOrEmpty(email) ? "Falta email." : "", string.IsNullOrEmpty(contrasena) ? "Falta contraseña." : ""));
            }

            //Devolvemos Resultado
            return(resultado.ToXMLString());
        }