Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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)
            {
            }
        }