public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (HttpContext.Current.User.Identity.IsAuthenticated) { if (HttpContext.Current.Session["SessionTipoUsuario"] == null) { UsuarioModels Usuario = new UsuarioModels(); _Usuario_Datos usuario_datos = new _Usuario_Datos(); Usuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Usuario.cuenta = user.Identity.Name; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName(Usuario); HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; } else { int TipoUsuario = (int)HttpContext.Current.Session["SessionTipoUsuario"]; HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsuario; } if (HttpContext.Current.Session["SessionListaPermiso"] == null) { UsuarioModels Usuario = new UsuarioModels(); LoginDatos LoginD = new LoginDatos(); Usuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Usuario.cuenta = user.Identity.Name; Usuario = LoginD.ObtenerPermisos(Usuario); List <string> ListaPermiso = new List <string>(); foreach (var item in Usuario.ListaPermisos) { ListaPermiso.Add(item.NombreUrl); } HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } else { List <string> ListaPermiso = new List <string>(); ListaPermiso = (List <string>)HttpContext.Current.Session["SessionListaPermiso"]; HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } if (HttpContext.Current.Session["NombreUsuario"] == null) { UsuarioModels CuentaUsuario = new UsuarioModels(); CuentaUsuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; CuentaUsuario.id_usuario = user.Identity.Name; int TipoUsuario = (int)HttpContext.Current.Session["SessionTipoUsuario"]; CuentaUsuario.id_tipoUsuario = TipoUsuario; CuentaUsuario = _Usuario_Datos.ObtenerUsuario(CuentaUsuario); HttpContext.Current.Session["NombreUsuario"] = CuentaUsuario.tablaUsuario.Rows[0]["Nombre"]; } else { string NombreUsuario = (string)HttpContext.Current.Session["NombreUsuario"]; HttpContext.Current.Session["NombreUsuario"] = NombreUsuario; } } }
public async Task <RespuestaLogin> Login(LoginDatos model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { throw new COExcepcion("El email no se encuentra registrado. "); } if (await _userManager.CheckPasswordAsync(user, model.Password)) { // TODO : Queda pendiente resolver la confirmación del usuario para desbloquear esta validación /* if (!user.EmailConfirmed) * return new RespuestaLogin * { * Codigo = 11, * Mensaje = "Por favor confirme la cuenta. El email fue enviado a su correo electrónico. ¿Desea reenviar el mensaje de confirmación?" * };*/ var token = await GenerarTokenAcceso(user); return(new RespuestaLogin { Codigo = COCodigoRespuesta.OK, Mensaje = "Se inició sesión correctamente", Token = new JwtSecurityTokenHandler().WriteToken(token), Expire = token.ValidTo }); } throw new COExcepcion("La contraseña es incorrecta. "); }
public LoginDatos Login(string _Usuario = "", string _Contrasena = "") { var Resultado = new LoginDatos(); var Autorizacion = db.SBO_SP_IMF_LoginWeb(_Usuario, _Contrasena).FirstOrDefault(); if (Autorizacion != null) { switch (Autorizacion.Status) { case 1: Resultado.Nombre = (Autorizacion.Name?.ToUpper() ?? "") + " " + (Autorizacion.lastName?.ToUpper() ?? ""); Resultado.Mensaje = "OK"; break; case 2: Resultado.Mensaje = "USUARIO INACTIVO"; break; case 3: Resultado.Mensaje = "CONTRASEÑA INCORRECTA"; break; default: Resultado.Mensaje = "USUARIO NO EXISTE"; break; } } else { Resultado.Mensaje = "USUARIO NO EXISTE"; } return(Resultado); }
public ActionResult Index(LoginDatos _Login) { var Resultado = oUsuario.Login(_Login.Usuario, _Login.Contrasena); if (Resultado.Mensaje == "OK") { Session["Nombre"] = Resultado.Nombre; return(RedirectToAction("Inicio")); } _Login.Mensaje = Resultado.Mensaje; return(View(_Login)); }
public static LoginDatos fn_inicioSesionSistema(string sUsuario, string sPassword) { //se declara objeto de rspuesta LoginDatos obj_login = new LoginDatos(); //Inicio try try { //Instancias Security obj_secVariables; //se agrega el valor de los campos a los metodos set obj_login.gssUsuario = sUsuario; obj_login.gssPassword = sPassword; //***** //se manda llamar a la funcion de validar usuario obj_login.vValidaUsuario(obj_login); //se valida el resultado if (obj_login.gsiResultado == 1) { //se guardan las variables de sesión //Id de usuario obj_secVariables = new Security(obj_login.gsiIdUsuario.ToString()); HttpContext.Current.Session["iIdUsuario"] = obj_secVariables.Encriptar(); //Tipo de Usuario obj_secVariables = new Security(obj_login.gsiTipoUsuario.ToString()); HttpContext.Current.Session["iTipoUsuario"] = obj_secVariables.Encriptar(); //Nombre de Usuario //se encripta string NombreUsuario = obj_login.gssNombre + " " + obj_login.gssApePat + " " + obj_login.gssApeMat; obj_secVariables = new Security(NombreUsuario); HttpContext.Current.Session["NombreUsuario"] = obj_secVariables.Encriptar(); //se redirecciona a la pagina de inicio //HttpContext.Current.Response.Redirect("Vista/Inicio/Inicio.aspx", false); /**************************************************/ } } //inicio catch catch (Exception ex) { //se manda resultado obj_login.gsiResultado = 3; obj_login.gssMensaje = "Lo sentimos, ha sucedido un error de tipo <b>EXEPCIÓN</b> al momento de validar la expiraciòn de tu contraseña comunícate con el departamento de TI, Error:" + ex.Message + "'"; } //se retorna respuesta return(obj_login); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (HttpContext.Current.User.Identity.IsAuthenticated) { if (HttpContext.Current.Session["SessionTipoUsuario"] == null) { UsuarioModels Usuario = new UsuarioModels(); UsuarioDatos usuario_datos = new UsuarioDatos(); Usuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Usuario.cuenta = user.Identity.Name; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName2(Usuario); HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; } if (HttpContext.Current.Session["SessionListaPermiso"] == null) { CatAdministrativoModels Administrativo = new CatAdministrativoModels(); LoginDatos LoginD = new LoginDatos(); Administrativo.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Administrativo.cuenta = user.Identity.Name; Administrativo = LoginD.ObtenerPermisos(Administrativo); List <string> ListaPermiso = new List <string>(); foreach (var item in Administrativo.ListaPermisos) { ListaPermiso.Add(item.NombreUrl); } HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } else { int TipoUsuario = (int)HttpContext.Current.Session["SessionTipoUsuario"]; List <string> ListaPermiso = new List <string>(); ListaPermiso = (List <string>)HttpContext.Current.Session["SessionListaPermiso"]; HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsuario; HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } } }
public ActionResult Index(UsuarioModels model, string returnUrl) { try { LoginDatos UD = new LoginDatos(); model.conexion = Conexion; model = UD.ValidarUsuario(model); if (model.opcion == 1) { FormsAuthentication.SignOut(); _Usuario_Datos usuario_datos = new _Usuario_Datos(); UsuarioModels usuario = new UsuarioModels(); usuario.conexion = Conexion; usuario.cuenta = model.id_usuario; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName(usuario); System.Web.HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; FormsAuthentication.SetAuthCookie(model.id_usuario, model.RememberMe); HttpCookie authCookie = FormsAuthentication.GetAuthCookie(model.id_usuario, model.RememberMe); FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value); List <string> listaPermiso = new List <string>(); foreach (var item in model.ListaPermisos) { listaPermiso.Add(item.NombreUrl); } System.Web.HttpContext.Current.Session["SessionListaPermiso"] = listaPermiso; System.Web.HttpContext.Current.Session["NombreUsuario"] = model.nombreCompleto; if (TipoUsario == 1) { return(RedirectToAction("Index", "HomeAdmin", new { Area = "Admin" })); } else { ModelState.AddModelError("", "No tienes permisos"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } } else if (model.opcion == 2) { ModelState.AddModelError("", "Usuario no existe"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 3) { ModelState.AddModelError("", "Error de Contraseña"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 4) { ModelState.AddModelError("", "El usuario tiene que ser de tipo. Administrador"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else { ModelState.AddModelError("", "El usuario o contraseña son incorrectos!!."); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } } catch (Exception ex) { ModelState.AddModelError("", "Contacte a soporte técnico. " + ex.Message); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } }
protected void btnEntrar_Click(object sender, EventArgs e) { //Instancias //Clase Conexion Conexion obj_Conexion = new Conexion(); //Clase LoginDatos LoginDatos obj_Login = new LoginDatos(); //Clase de Security Security obj_secDatos; //** //Inicio TRY try { //se recuperan valores ingresados por el usuario //nombre de usuario string sUsuario = ""; //contraseña string sPassword = ""; //********************************* //se agrega el valor de los campos a los metodos set obj_Login.gssUsuario = sUsuario; obj_Login.gssPassword = sPassword; //***** obj_Login.vValidaUsuario(obj_Login); if (obj_Login.gsiResultado == 1) { //manda llamar la función de javaScript de abrir alerta y redireccionar ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(" + obj_Login.gsiResultado + ", \" " + obj_Login.gssMensaje + "\");/*setTimeout(function(){window.location.href='Vista/Inicio/Inicio.aspx';},0)*/}</script>"); /****************************************************************/ //se guardan las variables de sesión //Id de usuario //se encripta obj_secDatos = new Security(obj_Login.gsiIdUsuario.ToString()); Session["iIdUsuario"] = obj_secDatos.Encriptar(); // //Tipo de Usuario //se encripta obj_secDatos = new Security(obj_Login.gsiTipoUsuario.ToString()); Session["iTipoUsuario"] = obj_secDatos.Encriptar(); //Nombre de Usuario //se encripta string NombreUsuario = obj_Login.gssNombre + " " + obj_Login.gssApePat + " " + obj_Login.gssApeMat; obj_secDatos = new Security(NombreUsuario); Session["NombreUsuario"] = obj_secDatos.Encriptar(); string a = Session["NombreUsuario"].ToString(); obj_secDatos = new Security(a); string d = obj_secDatos.DesEncriptar(); //se redirecciona a la pagina de inicio Response.Redirect("Vista/Inicio/Inicio.aspx", false); /**************************************************/ } else if (obj_Login.gsiResultado == 4) { //manda llamar la funcion de javaScript de abrir alerta ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{/*$.notificacionMsj(" + obj_Login.gsiResultado + ", \" " + obj_Login.gssMensaje + "\");*/" + "fn_abreDialogCambioPass('" + obj_Login.gssContenido + "','Cambio de contraseña','javaScript:alert(" + obj_Login.gsiIdUsuario + ")');$('#txtCambioPassword').val('');$('#atxtRepitePass').val('');}</script>"); /****************************************************************/ //atxtUsuarioCambioPassword.Text = obj_Login.gssUsuario; //ahiddenId.Value = obj_Login.gsiAccion.ToString(); //ahiddenNombre.Value = obj_Login.gssUsuario; } else { //manda llamar la funcion de javaScript de abrir alerta ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(" + obj_Login.gsiResultado + ", \" " + obj_Login.gssMensaje + "\");}</script>"); /****************************************************************/ } } /********/ /*Inicio CATCH*/ catch (Exception ex) { //manda llamar la funcion de javaScript de abrir alerta ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{ $.notificacionMsj(3, 'Lo sentimos, ha sucedido un error de tipo <b>EXEPCIÓN</b> comunícate con el departamento de TI, Error:" + ex.Message + "');}</script>"); /****************************************************************/ } /**********/ }
public static LoginDatos fn_cambiaPassInicio(string sUsuario, string sPassword, int iAccion) { //***********************************************************/ //Instancias //Clase Conexion Conexion obj_Conexion = new Conexion(); //Clase Login_Datos LoginDatos obj_login = new LoginDatos(); //Clase de Security Security obj_secDatos; //Inicio TRY try { //se agrega el valor de los campos a los metodos set obj_login.gssUsuario = sUsuario; obj_login.gssPassword = sPassword; obj_login.gsiAccion = iAccion; //***** obj_login.vCambiaPassword(obj_login); if (obj_login.gsiResultado == 1) { obj_login.vValidaUsuario(obj_login); if (obj_login.gsiResultado == 1) { //se guardan las Variables de sesion //Id de usuario //se encripta obj_secDatos = new Security(obj_login.gsiIdUsuario.ToString()); HttpContext.Current.Session["iIdUsuario"] = obj_secDatos.Encriptar(); // //Tipo de Usuario //se encripta obj_secDatos = new Security(obj_login.gsiTipoUsuario.ToString()); HttpContext.Current.Session["iTipoUsuario"] = obj_secDatos.Encriptar(); //Nombre de Usuario //se encripta string NombreUsuario = obj_login.gssNombre + " " + obj_login.gssApePat + " " + obj_login.gssApeMat; obj_secDatos = new Security(NombreUsuario); HttpContext.Current.Session["NombreUsuario"] = obj_secDatos.Encriptar(); } else if (obj_login.gsiResultado == 4) { } else { } } else { } } /********/ //inicio catch catch (Exception ex) { //se manda resultado obj_login.gsiResultado = 3; obj_login.gssMensaje = "Error al realizar cambio de contraseña: " + ex.Message; } //se retorna respuesta return(obj_login); }
public static LoginDatos fn_validaDatosCambioPassCaptcha(string sUsuario, string sCaptcha) { //se declaran variables LoginDatos obj_login = new LoginDatos(); //Inicio try try { //Instancias Security obj_secVariables; Conexion obj_conexion = new Conexion(); //se crea query string sQuery = "Select count(*) from tb_Usuarios where sUsuario ='" + sUsuario + "'"; //se ejecuta query string[] srespuesta = obj_conexion.ejecutarConsultaRegistroSimple(sQuery); //se valida resultado if (srespuesta[0] == "1") { if (int.Parse(srespuesta[1]) > 0) { /*se recupera el codigo captcha de session encriptado*/ string sCaptchaEncry = HttpContext.Current.Session["CaptchaCode"].ToString(); /****************************************************/ /*Instancia a la clase security y se manda como parametro el codigo encryptado*/ Security obj_SecCaptcha = new Security(sCaptchaEncry); /***********************************************************************/ /*Se recupera el captcha de sesión desencriptado*/ string sCaptchaDes = obj_SecCaptcha.DesEncriptar(); /************************************************/ //se valida que sea el mismo captcha if (sCaptcha == sCaptchaDes) { //se settean las variables obj_login.gssUsuario = sUsuario; obj_login.gssPassword = obj_login.fn_CreaNuevaPassword(); obj_login.gsiAccion = 1; /*Se manda llamar al metodo de Cambiar contraseña*/ obj_login.vCambiaPassword(obj_login); /*********************************************************/ //se valida el resultado del cambio de la contraseña if (obj_login.gsiResultado == 1) { //se manda correo obj_login.vGeneraCorreo(obj_login); } } else { //se manda resultado obj_login.gsiResultado = 2; obj_login.gssMensaje = "El codigo captcha no es el correcto"; } } else { //se manda resultado obj_login.gsiResultado = 2; obj_login.gssMensaje = "El usuario ingresado no existe."; } } else { //se manda resultado obj_login.gsiResultado = 3; obj_login.gssMensaje = "Error al recuperar usuari: " + srespuesta[0]; } } //inicio catch catch (Exception ex) { //se manda resultado obj_login.gsiResultado = 3; obj_login.gssMensaje = "Error al recuperar usuario: " + ex.Message; } //se retorna respuesta return(obj_login); }
public void vCambioPassword(object sender, EventArgs e) { try { /*Instancia a la clase conexion*/ Conexion con = new Conexion(); /******************************/ //se crea objeto de respuesta LoginDatos obj_Login = new LoginDatos(); //************* /*se recupera el usuario y captcha ingresados por el usuario*/ string sUsuario = ""; string sCaptcha = ""; /***********************************************************/ /*se recupera el codigo captcha de session encriptado*/ string sCaptchaEncry = Session["CaptchaCode"].ToString(); /****************************************************/ /*Instancia a la clase security y se manda como parametro el codigo encryptado*/ Security obj_SecCaptcha = new Security(sCaptchaEncry); /***********************************************************************/ /*Se recupera el captcha de sesión desencriptado*/ string sCaptchaDes = obj_SecCaptcha.DesEncriptar(); /************************************************/ /*Se valida que el usuario haya introducido la captcha correcta*/ /*Si es correcta*/ if (sCaptcha == sCaptchaDes) { //se settean las variables obj_Login.gssUsuario = sUsuario; obj_Login.gssPassword = rsNuevaPassword(); obj_Login.gsiAccion = 1; /*Se manda llamar al metodo de Cambiar contraseña*/ obj_Login.vCambiaPassword(obj_Login); /*********************************************************/ if (obj_Login.gsiResultado == 1) { obj_Login.vGeneraCorreo(obj_Login); if (obj_Login.gsiResultado == 1) { //manda llamar la función de javaScript de abrir Dialog ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(1,'Cambio de contraseña exitoso');$('#hdvConfirmacion').modal('toggle');}</script>"); /****************************************************************/ } else { //manda llamar la función de javaScript de abrir Dialog ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(\"" + obj_Login.gsiResultado + "\",\"" + obj_Login.gssMensaje + "\");$('#hdvDialogCambioPass').modal('show');}</script>"); /****************************************************************/ } } else { //manda llamar la función de javaScript de abrir Dialog ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(\"" + obj_Login.gsiResultado + "\",\"" + obj_Login.gssMensaje + "\");$('#hdvDialogCambioPass').modal('show');}</script>"); /****************************************************************/ } /*******************************************************************************************************************************************************************************************************/ } //Si el captcha no es correcto else { /*se limpian las cajas de texto*/ //atxtUsuario.Text = ""; //atxtCaptcha.Text = ""; /***********************************************************/ //manda llamar la funcion de javaScript de abrir Dialog ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(2,'El código ingresado no es el correcto intenta nuevamente.');$('#hdvDialogCambioPass').modal('show');}</script>"); /****************************************************************/ /**********************************************************************************************************************************************************************************************/ } } catch (Exception ex) { /*se limpian las cajas de texto*/ //atxtUsuario.Text = ""; //atxtCaptcha.Text = ""; /***********************************************************/ //manda llamar la funcion de javaScript de abrir Dialog ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$.notificacionMsj(2,'Error al realizar cambio de contraseña: " + ex.Message + "');$('#hdvDialogCambioPass').modal('show');}</script>"); /****************************************************************/ } }
public async Task <RespuestaLogin> Login([FromBody] LoginDatos model) { return(await _seguridadBiz.Login(model)); }
public Mensaje PostLogin(LoginDatos datos) { return(GetLogin(datos.Usuario, datos.Contrasena)); }
public ActionResult Index(CatAdministrativoModels model, string returnUrl) { LoginDatos UD = new LoginDatos(); model.conexion = Conexion; model = UD.ValidarUsuario(model); if (model.opcion == 1) { FormsAuthentication.SignOut(); UsuarioDatos usuario_datos = new UsuarioDatos(); UsuarioModels usuario = new UsuarioModels(); usuario.conexion = Conexion; usuario.cuenta = model.id_administrativo; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName2(usuario); System.Web.HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; FormsAuthentication.SetAuthCookie(model.id_administrativo, model.RememberMe); HttpCookie authCookie = FormsAuthentication.GetAuthCookie(model.id_administrativo, model.RememberMe); FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value); List <string> listaPermiso = new List <string>(); foreach (var item in model.ListaPermisos) { listaPermiso.Add(item.NombreUrl); } System.Web.HttpContext.Current.Session["SessionListaPermiso"] = listaPermiso; //AdministrativoPermisoJson Json = new AdministrativoPermisoJson { NombreURl = listaPermiso}; //string userDataString = JsonConvert.SerializeObject(Json); //FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(TipoUsario, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, userDataString); //authCookie.Value = FormsAuthentication.Encrypt(newTicket); //Response.Cookies.Add(authCookie); string id_tipoUsuario = usuario_datos.ObtenerTipoUsuarioByUserName(usuario); if (id_tipoUsuario == "3") { return(RedirectToAction("Index", "HomeAdmin", new { Area = "Admin" })); } else if (id_tipoUsuario == "1") { return(RedirectToAction("Index", "HomeProfesor", new { Area = "Profesor" })); } else { ModelState.AddModelError("", "No tienes permisos"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } } else if (model.opcion == 2) { ModelState.AddModelError("", "Usuario no existe"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 3) { ModelState.AddModelError("", "Error de Contraseña"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 4) { ModelState.AddModelError("", "El usuario tiene que ser de tipo. Administrador ó Profesor"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else { ModelState.AddModelError("", "El usuario o contraseña son incorrectos!!."); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } }