/// <summary> /// Metodo Valida Token /// </summary> private void ValidandoToken() { //Asigna a control NoServicio el valor del queryString this._token = Convert.ToString(Request.QueryString["ustk"]); //Instanciando Token using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token)) using (SAT_CL.Seguridad.Usuario objusuario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra)) { if (objtoken.habilitar && objusuario.habilitar) { //AutenticandoUsuario autenticaUsuario(objusuario.email); } else { //Obteniendo Acceso por Defecto string acceso = TSDK.Base.Cadena.RutaRelativaAAbsoluta("~/Externa/Login.aspx", "~/Externa/TokenInvalido.aspx"); if (!acceso.Equals("")) { //Redireccionando a forma por Default Response.Redirect(acceso); } } } }
/// <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()); }
private void cargaContenidoControles() { //Determinando el estatus de la página switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"]) { case TSDK.ASP.Pagina.Estatus.Nuevo: //Borrando el contenido lblId.Text = "Por Asignar"; txtNombre.Text = ""; txtNombreCorto.Text = ""; txtIdNombre.Text = ""; //txtIdPatio.Text = ""; chkactivo.Checked = true; //txtActivo.Text = ""; break; case TSDK.ASP.Pagina.Estatus.Lectura: case TSDK.ASP.Pagina.Estatus.Edicion: //Instanciando registro operador using (SAT_CL.ControlPatio.OperadorPatio c = new SAT_CL.ControlPatio.OperadorPatio(Convert.ToInt32(Session["id_registro"]))) { //Si el registro existe if (c.habilitar) { //Borrando el contenido lblId.Text = c.id_operador_patio.ToString(); txtNombre.Text = c.nombre; txtNombreCorto.Text = c.nombre_corto; using (SAT_CL.Seguridad.Usuario t = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema)) { //Si el registro existe if (t.habilitar) { txtIdNombre.Text = String.Format("{0} ID:{1}", t.nombre, c.id_usuario_sistema); } } ddlPatio.SelectedValue = c.id_patio.ToString(); chkactivo.Checked = c.bit_activo; } } break; } //Limpiando errores lblError.Text = ""; }
/// <summary> /// Método encaragdo de inicializar las variables de sesión /// </summary> /// <param name="usuario">Objeto usuario actual</param> private void inicializaVariablesSesion(SAT_CL.Seguridad.Usuario usuario) { //INICIALIZANDO VALORES DE VARIABLES DE SESION //Objeto usuario Session["usuario"] = usuario; //Id de Registro Session["id_registro"] = 0; //Id de registro b Session["id_registro_b"] = 0; //Id de registro c Session["id_registro_c"] = 0; //Variable de sesion estatus siempre a nuevo registro Session["estatus"] = Pagina.Estatus.Nuevo; //Vaciando el DataSet de sesion Session["DS"] = null; }
/// <summary> /// Inicializando contenido de GV /// </summary> private void inicializaForma() { //Recupera token this._token = Convert.ToString(Request.QueryString["ustk"]); //Instanciando using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token)) using (SAT_CL.Seguridad.Usuario objUsario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra)) using (SAT_CL.Seguridad.PerfilSeguridadUsuario objperfilactivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(objUsario.id_usuario)) { if (objtoken.habilitar && objUsario.habilitar && objperfilactivo.habilitar) { //Cargando lista de reportes de la compañía CapaNegocio.m_capaNegocio.CargaCatalogo(ddlReporte, 198, "- Seleccione un Reporte -", objtoken.id_compania, Convert.ToString(objperfilactivo.id_perfil), 0, ""); } else { Error(); } } }
private void bajaContacto() { //Creación del objeto retorno RetornoOperacion retorno = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro. using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto((int)Session["id_registro"])) { //Valida si el registro existe. if (c.id_contacto > 0) { //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro (Deshabilitó) retorno = c.DeshabilitaContacto(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando Operación Exitosa if (retorno.OperacionExitosa) { //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro. using (SAT_CL.Seguridad.Usuario us = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema)) { //Valida si el registro existe. if (us.id_usuario > 0) { //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro(Deshabilito) retorno = us.DeshabilitaUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando Operación Exitosa if (retorno.OperacionExitosa) { //Instanciando registro de Usuario - Compania using (SAT_CL.Seguridad.UsuarioCompania uc = new SAT_CL.Seguridad.UsuarioCompania(us.id_usuario, c.id_compania_emisor)) { //Validando que Existe el Registro if (uc.id_usuario_compania > 0) { //Deshabilitando retorno = uc.DeshabilitaUsuarioCompania(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { SAT_CL.Seguridad.PerfilSeguridadUsuario IdPSU = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema); //Instanciando Perfil Activo de Perfil Seguridad Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario psu = new SAT_CL.Seguridad.PerfilSeguridadUsuario(IdPSU.id_perfil_usuario)) { if (psu.id_perfil_usuario > 0) { retorno = psu.DeshabilitaPerfilSeguridadUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (UsuarioToken activo = UsuarioToken.ObtieneTokenActivo(c.id_usuario_sistema, c.id_compania_emisor)) { retorno = activo.TerminaUsuarioToken(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } } } } } } } } } } } //Valida que la operacion de inserción se realizo correctamente if (retorno.OperacionExitosa) { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha); //Completando Transacción trans.Complete(); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha); } } //Valida si la operación se realizo correctamente. if (retorno.OperacionExitosa) { //Asigna el valor de estado lectura a la variable de session estatus Session["estatus"] = Pagina.Estatus.Nuevo; //Asigna el valor 0 a la variable de session id_registro Session["id_registro"] = 0; //invoca al método inicializaForma(). inicializaForma(); } }
/// <summary> /// Inserta o actualiza los valores del registro /// </summary> private void guardaContacto() { //Declarando Variables Auxiliares int id_usuario = 0; string pwdAleatoria = TSDK.Base.Cadena.CadenaAleatoria(20); string QtnAwr = TSDK.Base.Cadena.CadenaAleatoria(20); //Declarando objeto de resultado RetornoOperacion resultado = new RetornoOperacion(); RetornoOperacion resultadoP = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //En base al estatus switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"]) { case TSDK.ASP.Pagina.Estatus.Nuevo: //Validando que se halla seleccionado un Perfil if (ddlPerfil.SelectedValue != "0" && ddlClienteProveedor.SelectedValue != "0") { //Asigna al objeto retorno los valores obtenidos del formulario Contacto, invocando al método de insercion de la clase usuario. resultado = SAT_CL.Seguridad.Usuario.InsertaUsuario(txtNombre.Text, txtEmail.Text, pwdAleatoria, DateTime.Today, 0, 0, "NA", QtnAwr, 0, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (resultado.OperacionExitosa) { //Obteniendo Registro de Usuario id_usuario = resultado.IdRegistro; //Insertando Usuario - Compania resultado = SAT_CL.Seguridad.UsuarioCompania.InsertaUsuarioCompania(id_usuario, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, 1, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (resultado.OperacionExitosa) { //Insertando Perfil resultado = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), id_usuario, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (resultado.OperacionExitosa) { //Registrando el Contacto con el ID de Usuario del sistema generado resultado = SAT_CL.Global.Contacto.InsertaContacto( ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)), txtNombre.Text.ToUpper(), txtTelefono.Text, txtEmail.Text, id_usuario, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); } } } } else { //Instanciando Excepción resultado = new RetornoOperacion("* Seleccione un Perfil y un Tipo de Contacto de la Lista"); } break; case TSDK.ASP.Pagina.Estatus.Edicion: //Validando que se halla seleccionado un Perfil if (ddlClienteProveedor.SelectedValue != "0") { //Instanciando contacto actual using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"]))) { //Si el Contacto existe if (c.habilitar) { //Insertando Nuevo Perfil Asignado (Si es que lo hay) /*resultadoP = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), c.id_usuario_sistema, * ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);*/ resultado = c.EditaContacto( Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)), txtNombre.Text.ToUpper(), txtTelefono.Text, txtEmail.Text, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); if (resultado.OperacionExitosa) { using (SAT_CL.Seguridad.Usuario u = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema)) { if (u.id_usuario > 0) { Usuario OldU = u; resultado = u.EditaInformacionGeneral( txtNombre.Text.ToUpper(), txtEmail.Text, OldU.sesiones_disponibles, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); } } } } } } else { //Instanciando Excepción resultado = new RetornoOperacion("* Seleccione un tipo de Contacto de la Lista."); } break; } //Valida que la operacion de inserción se realizo correctamente if (resultado.OperacionExitosa) { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); //Completando Transacción trans.Complete(); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } } //Si no hay errores de guardado if (resultado.OperacionExitosa) { //Guardando datos de registro para carga de estatus de lectura Session["id_registro"] = resultado.IdRegistro; Session["estatus"] = Pagina.Estatus.Lectura; inicializaForma(); } }
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)); } } }
/// <summary> /// Cambio en la selección del reporte a visualizar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ddlReporte_SelectedIndexChanged(object sender, EventArgs e) { //Asigna Atributos asignaAtributos(); //Instanciando using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token)) using (SAT_CL.Seguridad.Usuario objUsario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra)) using (SAT_CL.Global.CompaniaReporte objReporte = new SAT_CL.Global.CompaniaReporte(Convert.ToInt32(ddlReporte.SelectedValue))) { if (objtoken.habilitar && objUsario.habilitar && objReporte.habilitar) { if (objReporte.habilitar) { //En base al tipo de reporte definido para el botón switch (objReporte.id_tipo_reporte) { case 1: { rvSSRS.Visible = true; rvPBI.Visible = false; rvAND.Visible = false; //Instanciando reporte seleccionado using (SAT_CL.Global.CompaniaReporte reporte = new SAT_CL.Global.CompaniaReporte(Convert.ToInt32(ddlReporte.SelectedValue))) { /*** CONFIGURANDO VISOR DE REPORTE ***/ //Indicando el servidor al que será conectado el visor rvSSRS.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ServidorSSRS"]); //Credenciales de Autenticación en servidor de reportes rvSSRS.ServerReport.ReportServerCredentials = new SAT_CL.Seguridad.CredencialServidorReportes(ConfigurationManager.AppSettings["UsuarioSSRS"], ConfigurationManager.AppSettings["ContrasenaSSRS"], ConfigurationManager.AppSettings["DominioSSRS"]); //ASigna al reporte la variable compania rvSSRS.ServerReport.ReportPath = reporte.url_reporte_ssrs; ReportParameter param = new ReportParameter("param1", Convert.ToString(objtoken.id_compania)); rvSSRS.ServerReport.SetParameters(new ReportParameter[] { param }); } break; } case 2: { rvSSRS.Visible = false; rvPBI.Visible = false; rvAND.Visible = false; break; } case 3: { rvSSRS.Visible = false; rvPBI.Visible = true; rvAND.Visible = false; break; } case 4: { rvSSRS.Visible = false; rvPBI.Visible = false; rvAND.Visible = true; break; } } } else { Error(); } } else { Error(); } } }
/// <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()); }
/// <summary> /// Eventos Producido al Seleccionar el Perfil de Usuario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkSeleccionar_Click(object sender, EventArgs e) { //Validando que Existan Perfiles if (gvPerfilesUsuario.DataKeys.Count > 0) { //Seleccionando Fila Controles.SeleccionaFila(gvPerfilesUsuario, sender, "lnk", false); //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciando Perfil de Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario psu = new SAT_CL.Seguridad.PerfilSeguridadUsuario(Convert.ToInt32(gvPerfilesUsuario.SelectedDataKey["IdPerfilUsuario"]))) { //Validando que Exista el Perfil if (psu.id_perfil_usuario > 0) { //Instanciando Perfil de Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario pActivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(this._id_usuario)) { //Validando que Exista un Perfil Activo if (pActivo.id_perfil_usuario > 0) { //Validando que sean Distintos if (pActivo.id_perfil_usuario != psu.id_perfil_usuario) { //Actualizando Perfil Activo result = pActivo.EditaPerfilSeguridadUsuario(pActivo.id_perfil, pActivo.id_usuario, false, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } else { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } else { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Instanciando Usuario using (SAT_CL.Seguridad.Usuario user = (SAT_CL.Seguridad.Usuario)Session["usuario"]) { //Actualizando Atributos if (user.ActualizaAtributos()) { //Actualizando Perfil de Usuario psu.ActualizaPerfilSeguridadUsuario(); //Instanciando Perfil using (SAT_CL.Seguridad.PerfilSeguridad ps = new PerfilSeguridad(psu.id_perfil)) { //Instanciando Perfil de Seguridad if (ps.id_perfil_seguridad > 0) { //Instanciando Forma using (SAT_CL.Seguridad.Forma form = new SAT_CL.Seguridad.Forma(ps.id_forma_inicio)) { //Completando Transacción trans.Complete(); //Inicializando variables de Sesión inicializaVariablesSesion(user); //Obteniendo Ruta Relativa string url = TSDK.Base.Cadena.RutaRelativaAAbsoluta(Page.AppRelativeVirtualPath, form.ruta_relativa); //Redireccionando a la Forma Inicio del Perfil Response.Redirect(url); } } } } } } } } } } } }