private void userSign(ref Users user, string name, string password, string userHosAddress) { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "T", "F", userHosAddress); try { user._logTx = new Log_Transaction(); user._logTx = (Log_Transaction)Session[_nSlogTx]; if (string.IsNullOrEmpty(user._logTx._ip)) { user._logTx._ip = userHosAddress; } } catch { user._logTx = new Log_Transaction(userHosAddress); } finally { Session.Clear(); } user._usd_lastaccess = DateTime.Now; user._isnew = false; user._usv_username = name; Session[Constants.NameSessionUser] = user; // Async Log_Transaction.registerUserInfo(user, "SIGNIN:" + user._usv_username); }
protected void LoginUser_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e) { try { //obtine el nombre del usuario que desea autenticarse string name = LoginUser.UserName; //Obtine el password string password = LoginUser.Password; //obtiene si el usuario desea o no almacenar una cookie bool checkcookie = LoginUser.RememberMeSet; Users user = new Users(); user = loadUser(name); if (user != null) { bool ValIngreso = true; if (user._usv_flg_Expired == "A") { if (user._usv_status == Constants.IdStatusPasswordExpiration) { ValIngreso = false; } } if (user._usu_est_id.Equals(Constants.IdStatusActive) && ValIngreso) { //Desencripta la contraseña del usuario string passUser = Cryptographic.decrypt(user._usu_contraseña); //valida la contraseña contraseña que ingreso contra lad del usuario if (password.Equals(passUser)) { //userSign(ref user, name, password, Request.UserHostAddress); Session[Constants.NameSessionUser] = user; loadMenu(user._bas_id); //String ip = GetUserIPAddress(); // o se puede utiliar lo siguiente que es lo mismo string _host = ""; string _ip = ""; GetIpAddress(ref _host, ref _ip); //insertar log de acceso al sistema Log_Transaction._auditoria_acceso(user._bas_id, user._nombre, _ip, _host); //Autenticación try { FormsAuthentication.RedirectFromLoginPage(user._bas_id.ToString(), checkcookie); } catch (Exception ex) { LoginUser.FailureText = "Error de conexión: " + ex.Message.ToString(); } } else { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "F", "F", Request.UserHostAddress); System.Diagnostics.Trace.WriteLine("[ValidateUser] Usuario y/o contraseña invalidos."); } } else if (user._usv_status.Equals(Constants.IdStatusPasswordExpiration) && user._usv_flg_Expired == "A") { //Desencripta la contraseña del usuario string passUser = Cryptographic.decrypt(user._usu_contraseña); //valida la contraseña contraseña que ingreso contra lad del usuario if (password.Equals(passUser)) { userSign(ref user, name, password, Request.UserHostAddress); loadMenu(user._bas_id); FormsAuthentication.SetAuthCookie(user._usn_userid.ToString(), checkcookie); Server.Transfer("changePassword.aspx?expiration=1"); } else { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "F", "F", Request.UserHostAddress); System.Diagnostics.Trace.WriteLine("[ValidateUser] Usuario y/o contraseña invalidos."); } } else { LoginUser.FailureText = "Error de conexión: El usuario no esta Activo"; } } else { System.Diagnostics.Trace.WriteLine("[ValidateUser] La validacion del usuario fallo."); } } catch (Exception ex) { } }