public static string ajaxUpdateFunction(decimal USN_USERID, string USV_USERNAME, string USV_PASSWORD, string USD_CREATION, string USV_STATUS)
        {
            Users  _usr2 = new Users();
            string ip    = HttpContext.Current.Request.ServerVariables["remote_addr"];

            _usr2._logTx = new Log_Transaction(ip);

            _usr2._usn_userid   = USN_USERID;
            _usr2._usv_username = USV_USERNAME;
            _usr2._usv_password = Cryptographic.encrypt(USV_PASSWORD);
            _usr2._usd_creation = Convert.ToDateTime(USD_CREATION);
            _usr2._usv_status   = USV_STATUS;



            try
            {
                if (_usr2.Update())
                {
                    History_Password.addPassword(USN_USERID, Cryptographic.encrypt(USV_PASSWORD), DateTime.Now);
                    return("1");
                }
                else
                {
                    return("-1");
                }
            }
            catch (Exception)
            {
                return("-1");
            }
        }
示例#2
0
        public int getEmpXCredenciales(string userName, string password)
        {
            try
            {
                using (TeamCellContext _dbContext = new TeamCellContext())
                {
                    var user = _dbContext.User.FirstOrDefault(x => x.UserName == userName);
                    if (user != null)
                    {
                        byte[] hashedPassword = Cryptographic.HashPasswordWithSalt(Encoding.UTF8.GetBytes(password), user.Salt);

                        if (hashedPassword.SequenceEqual(user.Password))
                        {
                            return(user.IdEmployee);
                        }
                        else
                        {
                            return(0);
                        }
                    }
                    return(0);
                }
            }
            catch (Exception)
            {
                return(0);
            }
        }
示例#3
0
        public Usuario(string _usuario = "")
        {
            DataTable dt = Login_User(_usuario);

            try
            {
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        _usu_id       = Convert.ToDecimal(dt.Rows[0]["bas_id"]);
                        _usu_nombre   = dt.Rows[0]["Usu_Nombre"].ToString();
                        _usu_password = Cryptographic.decrypt(dt.Rows[0]["Usu_Contraseña"].ToString());
                        _usu_est_id   = dt.Rows[0]["Usu_Est_id"].ToString();
                        _usu_nom_ape  = dt.Rows[0]["Nombre"].ToString();
                        _usu_tip      = dt.Rows[0]["Usu_Tip_Id"].ToString();
                        _usu_tip_nom  = dt.Rows[0]["Usu_Tip_Nombre"].ToString();
                        _usu_lid      = dt.Rows[0]["bas_Are_id"].ToString();
                        _usu_fec_cre  = DateTime.Parse(dt.Rows[0]["usu_fecha_cre"].ToString());
                        _error_con    = "1";
                    }
                    else
                    {
                        _error_con = "0";
                    }
                }
            }
            catch
            {
            }
        }
        public JsonResult AgregarActualizarBasicoDato(BeEcBasico obj, string accion)
        {
            ecBasicoService = new EcBasicoService();
            ResponseViewModel res     = new ResponseViewModel();
            string            mensaje = "";
            string            tipo    = "";
            string            s_usuid = Convert.ToString(Session["Id"]); // Id de Usuario

            try
            {
                bool valida = false;
                switch (accion)
                {
                // Actualizar Promotor
                case Configuration.SI_APP_WIN_ACTPRO:
                    break;

                // Crear Promotor
                case Configuration.SI_APP_WIN_CREPRO:
                    obj.bas_cre_usuario = s_usuid;
                    obj.bas_are_id      = "";
                    obj.bas_acceso      = "1"; // No Promotor
                    obj.bas_lider       = false;
                    obj.bas_agencia     = "";
                    obj.bas_destino     = "";
                    obj.bas_agencia_ruc = "";
                    obj.bas_contrasena  = Cryptographic.encrypt(obj.bas_documento);
                    valida = ecBasicoService.InsertarBasicoUsuario(obj, ref mensaje, ref tipo);
                    break;

                // Actualizar Cliente
                case Configuration.SI_APP_WIN_ACTCLI:
                    obj.bas_mod_usuario = s_usuid;
                    valida = ecBasicoService.EditarBasicoUsuario(obj, ref mensaje, ref tipo);
                    break;

                // Crear Cliente
                case Configuration.SI_APP_WIN_CRECLI:
                    break;

                default:
                    break;
                }

                res.Tipo    = tipo;
                res.Mensaje = mensaje;
                res.Modelo  = obj;
            }
            catch (Exception e)
            {
                res.Tipo    = Configuration.SI_MSJ_TIP_ERROR;
                res.Mensaje = e.Message;
            }
            return(Json(res));
        }
示例#5
0
        //private readonly TeamCellContext _dbContext = new TeamCellContext();
        //public UserController(TeamCellContext dbContext)
        //{
        //    _dbContext = dbContext;
        //}
        private User convertToUser(TempUser userTmp)
        {
            var user = new User();

            user.UserName   = userTmp.UserName;
            user.Salt       = Cryptographic.GenerateSalt();
            user.Password   = Cryptographic.HashPasswordWithSalt(Encoding.UTF8.GetBytes(userTmp.Password), user.Salt);
            user.IdEmployee = userTmp.IdEmployee;
            user.Status     = userTmp.Status;
            return(user);
        }
示例#6
0
        protected void btnEntrar_Click(object sender, EventArgs e)
        {
            try
            {
                SecurityController controller = new SecurityController();
                SessionString = controller.RandomString(8);
                string ipAddress = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", "");
                if (String.IsNullOrEmpty(ipAddress))
                {
                    if (Context.Request.UserHostAddress != null)
                    {
                        ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", "");
                    }
                }

                string radioButtonStoreOrClinet = rdClinet.Checked ? "C" : RdStore.Checked ? "L" : "";

                if (radioButtonStoreOrClinet == "C")
                {
                    ClientOrUserId = controller.AuthenticateClient(loginname.Text, password.Text);
                    if (ClientOrUserId > 0)
                    {
                        SecurityToken = Cryptographic.Encryptor(SessionString + "|" + ClientOrUserId + "|" + DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress + "|C");
                        Response.Redirect("~/Client/index.aspx?Token=" + SecurityToken);
                    }
                    else
                    {
                        throw new Exception("Usuário ou Senha inválido!");
                    }
                }
                else if (radioButtonStoreOrClinet == "L")
                {
                    ClientOrUserId = controller.AuthenticateUser(loginname.Text, password.Text);
                    if (ClientOrUserId > 0)
                    {
                        SecurityToken = Cryptographic.Encryptor(SessionString + "|" + ClientOrUserId + "|" + DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress + "|L");
                        Response.Redirect("~/Store/index.aspx?Token=" + SecurityToken);
                    }
                    else
                    {
                        throw new Exception("Usuário ou Senha inválido!");
                    }
                }
                else
                {
                    Alert("Selecione uma opção!");
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
        }
        public static string ajaxInsertUserToControl(string BD_CO, decimal BDN_ID, string BDV_EMAIL, string BDV_DOCUMENT_NO)
        {
            BDV_DOCUMENT_NO = Cryptographic.encrypt(BDV_DOCUMENT_NO);

            if (Users.insertUserToControl(BD_CO, BDN_ID, BDV_EMAIL, BDV_DOCUMENT_NO))
            {
                return("1");
            }
            else
            {
                return("-1");
            }
        }
        public JsonResult Login(LoginViewModel model)
        {
            ecUsuService  = new EcUsuarioService();
            ecMenuService = new EcMenuService();
            ResponseViewModel res = new ResponseViewModel();

            string mensaje = "";
            string tipo    = "";

            try
            {
                if (!ModelState.IsValid)
                {
                    res.Tipo    = Configuration.SI_MSJ_TIP_ERROR;
                    res.Mensaje = Configuration.SI_MSJ_MODEL_ERROR;
                    return(Json(res));
                }

                BeEcUsuario usu = new BeEcUsuario();
                usu._usu_nombre   = model.Usuario;
                usu._usu_password = Cryptographic.encrypt(model.Contrasena);

                List <BeEcUsuario> lst = ecUsuService.Buscar(usu, ref mensaje, ref tipo).ToList();

                if (lst.Count > 0)
                {
                    random             = GeneraNumeroRandom();
                    Session["Token"]   = random;
                    Session["Id"]      = lst.First()._usu_id;
                    Session["Usuario"] = lst.First()._usu_nombre;
                    Session["Menu"]    = ecMenuService.Menu_Acceso(lst.First()._usu_id).ToList();

                    Response.Cookies.Set(new HttpCookie("Token", (string)Session["Token"]));

                    res.Tipo    = tipo;
                    res.Mensaje = mensaje;
                    res.Token   = random;
                }
                else
                {
                    res.Tipo    = Configuration.SI_MSJ_TIP_ERROR;
                    res.Mensaje = Configuration.SI_MSJ_ACC_ERROR;
                }
            }
            catch (Exception e)
            {
                res.Tipo    = Configuration.SI_MSJ_TIP_ERROR;
                res.Mensaje = e.Message;
            }
            return(Json(res));
        }
        protected void btEnviarPass_Click(object sender, EventArgs e)
        {
            string pass1  = Password.Text.Trim();
            string pass2  = Password2.Text.Trim();
            string codigo = Codigo.Text;

            if (pass1 == pass2)
            {
                pass1 = Cryptographic.encrypt(pass1);
                enviarPassword(pass1, codigo);
            }
            else
            {
                FailureText.Text = "las contraseñas no coinciden.";
            }
        }
        public ActionResult Edit(int _id, string _pass, string _estado)
        {
            List <UsuarioModel> listuser = (List <UsuarioModel>)Session[_session_listuser_private];
            UsuarioModel        filauser = listuser.Find(x => x.usu_id == _id);
            Usuario             _usuario = new Usuario();

            _usuario._usu_id       = _id;
            _usuario._usu_nombre   = filauser.usu_nombre;
            _usuario._usu_est_id   = _estado;
            _usuario._usu_fec_cre  = filauser.usu_fecha_cre;
            _usuario._usu_password = Cryptographic.encrypt(_pass);
            Boolean _valida_update = _usuario.UpdateUsuario();


            return(Json(new { estado = (_valida_update) ? "1" : "-1", desmsg = (_valida_update) ? "Se actualizo satisfactoriamente." : "Hubo un error al actualizar." }));
        }
示例#11
0
        private void ValidSecurityToken(string securityToken, string ipAddress)
        {
            if (string.IsNullOrEmpty(securityToken))
            {
                throw new Exception("SecurityToken is invalid");
            }

            //SessionId|ID|yyyyMMddHHmmss|IpAddress
            string[] variableToken;
            try
            {
                variableToken = Cryptographic.Decryptor(securityToken).Split('|');
            }
            catch (Exception ex)
            {
                throw new Exception("SecurityToken is invalid - " + ex.Message, ex);
            }

            if (variableToken.Length <= 3)
            {
                throw new Exception("SecurityToken is invalid");
            }

            string clientIdOrUserId = variableToken[1].Trim();
            //string sessionId = variableToken[0].Trim();
            string date       = variableToken[2].Trim();
            string ipSecurity = variableToken[3].Trim().Replace(".", "").Replace(":", "").Replace("\0", "");

            if (ipSecurity != ipAddress && ipAddress != "1" && ipAddress != "127001")
            {
                throw new Exception("Ip is invalid. Your IP: " + ipAddress + " and Ip Security: " + ipSecurity);
            }

            int id;

            if (!int.TryParse(clientIdOrUserId, out id))
            {
                throw new Exception("Client or User is invalid");
            }


            if (DateTime.Now.AddMinutes(-1) > DateTime.ParseExact(date, "yyyyMMddHHmmss", CultureInfo.InvariantCulture))
            {
                throw new Exception("Session expired");
            }
        }
示例#12
0
        public ActionResult UpdPass(string npass)
        {
            if (Session[Constantes.NameSessionUser] == null)
            {
                return(RedirectToAction("Login", "Cuenta"));
            }

            Usuario _usuario = (Usuario)Session[Constantes.NameSessionUser];

            _usuario._usu_est_id   = "A";
            _usuario._usu_password = Cryptographic.encrypt(npass);
            Boolean _valida_update = _usuario.UpdateUsuario();



            return(Json(new { estado = (_valida_update) ? "1" : "-1", desmsg = (_valida_update) ? "Su contraseña se ha cambiado satisfactoriamente." : "Hubo un error al modificar su password." }));
        }
        public ActionResult Edit(int?id)
        {
            List <UsuarioModel> listuser = (List <UsuarioModel>)Session[_session_listuser_private];

            if (id == null || listuser == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            UsuarioModel filauser = listuser.Find(x => x.usu_id == id);

            filauser.usu_password = Cryptographic.decrypt(filauser.usu_password);

            Estado drop_estado = new Estado();

            ViewBag.estado = drop_estado._LeerEstado(0);
            return(View(filauser));
        }
示例#14
0
            public ComboBreaker(long key1, long key2)
            {
                Card = new Cryptographic(key1);
                Door = new Cryptographic(key2);

                EncryptionKey = -1;

                Card.DetermineLoopSize();
                Door.DetermineLoopSize();

                var encrypDoor = Card.EncryptOtherPublicKey(Door.PublicKey);
                var encrypCard = Door.EncryptOtherPublicKey(Card.PublicKey);

                if (encrypCard == encrypDoor)
                {
                    EncryptionKey = encrypCard;
                }
            }
示例#15
0
        public async Task <User> Register(RegisterDTO registerDTO)
        {
            var objUser = new User();

            objUser.Email     = registerDTO.Email;
            objUser.Phone     = registerDTO.Phone;
            objUser.LastName  = registerDTO.LastName;
            objUser.FirstName = registerDTO.FirstName;
            objUser.Salt      = Cryptographic.GenerateSalt();
            objUser.Password  = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(registerDTO.Password), objUser.Salt);
            objUser.ProfileId = Constants.Profile.Cliente;
            objUser.StateId   = Constants.State.Activo;

            await _context.Users.AddAsync(objUser);

            await _context.SaveChangesAsync();

            return(objUser);
        }
示例#16
0
        /// <summary>
        /// Nombre de conexion a bd
        /// </summary>

        #endregion

        /// <summary>
        /// Verificar si el nuevo password ya habia sido registrado alguna vez
        /// </summary>
        /// <param name="_userId"></param>
        /// <param name="_pass"></param>
        /// <param name="_co"></param>
        /// <returns></returns>
        public static bool isNewPassword(decimal _userId, string _pass)
        {
            bool   ret     = true;
            string newPass = Cryptographic.decrypt(_pass);
            string oldPass = "";

            DataTable pass = History_Password.getHistoryPasswords(_userId).Tables[0];

            foreach (DataRow p in pass.Rows)
            {
                oldPass = Cryptographic.decrypt(p["hpv_password"].ToString());
                if (oldPass.Equals(newPass))
                {
                    ret = false;
                }
            }
            //return id history pass where company and userid search equals
            return(ret);
        }
示例#17
0
        public async Task <User> Login(string username, string password)
        {
            User objUser = await _context.Users.FirstOrDefaultAsync(x => x.Email == username || x.Phone == username);

            if (objUser == null)
            {
                return(null);
            }

            byte[] passwordEncrypt = Cryptographic.HashPasswordWidthSalt(Encoding.UTF8.GetBytes(password), objUser.Salt);

            if (!passwordEncrypt.SequenceEqual(objUser.Password))
            {
                return(null);
            }
            else
            {
                return(objUser);
            }
        }
示例#18
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (Page.IsValid)
                {
                    if (Cryptographic.decrypt(_user._usu_contraseña).Equals(txtPassAnterior.Text.Trim())
                        &
                        (!string.IsNullOrEmpty(txtPassNew.Text.Trim()))

                        )
                    {
                        _user._usv_status   = "A";
                        _user._usv_password = Cryptographic.encrypt(txtPassNew.Text.Trim());
                        _user.Update();

                        //History_Password.addPassword(_user._usv_co, _user._usn_userid, _user._usv_password, DateTime.Now);
                        msnMessage.LoadMessage("Su contraseña se ha cambiado satisfactoriamente.", UserControl.ucMessage.MessageType.Information);
                        //Guardar en el historial de passwords

                        /*HISTORY_PASSWORD hp = new HISTORY_PASSWORD();
                         * hp.HPN_USERID = _user.USN_USERID;
                         * hp.HPV_CO = _user.USV_CO;
                         * hp.HPV_PASSWORD = _user.USV_PASSWORD;
                         * hp.HPD_DATE = DateTime.Now;
                         * hp.IsNew = true;
                         * hp.Save(_id, _machine);
                         * lblMsg.Text = "Su contraseña se ha cambiado satisfactoriamente.";*/
                    }
                    else
                    {
                        throw new InvalidCastException();
                    }
                }
            }
            catch (InvalidCastException)
            {
                msnMessage.LoadMessage("Hubo un error. No se realizaron los cambios por que la contraseña anterior no es valida o la nueva contraseña ya la habia utilizado.", UserControl.ucMessage.MessageType.Error);
                ///lblMsg.Text = "Hubo un error. No se realizaron los cambios por que la contraseña anterior no es valida o la nueva contraseña ya la habia utilizado.";
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            _user2               = (Users)Session[usr2];
            _user2._logTx        = new Log_Transaction(Request.ServerVariables["remote_addr"]);
            _user2._usv_username = txtUSVUserName.Text.Trim();
            _user2._usv_status   = DDUSVStatus.SelectedValue;
            _user2._usv_password = Cryptographic.encrypt(txtUSVPassword.Text.Trim());

            try
            {
                if (_user2.Update())
                {
                    initFields(); // Inicializan campos de cedula y nombre
                    msnMessage.LoadMessage("Usuario Actualizado", UserControl.ucMessage.MessageType.Information);
                    History_Password.addPassword(_user2._usn_userid, _user2._usv_password, DateTime.Now);
                }
                else
                {
                    msnMessage.LoadMessage("Ocurrio un problema durante la actualizacion", UserControl.ucMessage.MessageType.Error);
                }
            }
            catch (Exception) { msnMessage.LoadMessage("Ocurrio un problema durante la actualizacion", UserControl.ucMessage.MessageType.Error); }
        }
示例#20
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)
            {
            }
        }
示例#21
0
        public ResponseMessage Authenticate(ClientCredentials clientCredentials)
        {
            authHeader = new AuthHeader();
            ResponseMessage securityReply = new ResponseMessage();

            authHeader.SecurityToken = "";
            securityReply.Message    = "";

            try
            {
                SecurityController controller = new SecurityController();
                authHeader.SessionId = controller.RandomString(8);

                if (clientCredentials == null)
                {
                    securityReply.Message = "UserCredentials is null or invalid";
                    securityReply.Success = false;
                    return(securityReply);
                }
                if (String.IsNullOrEmpty(clientCredentials.Email))
                {
                    securityReply.Message = "Email is invalid";
                    securityReply.Success = false;
                    return(securityReply);
                }
                if (String.IsNullOrEmpty(clientCredentials.Password))
                {
                    securityReply.Message = "Password is invalid";
                    securityReply.Success = false;
                    return(securityReply);
                }
                string ipAddress = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", "");
                if (String.IsNullOrEmpty(ipAddress))
                {
                    if (Context.Request.UserHostAddress != null)
                    {
                        ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", "");
                    }
                }

                if (String.IsNullOrEmpty(ipAddress))
                {
                    securityReply.Message = "Ip Address is invalid";
                    securityReply.Success = false;
                    return(securityReply);
                }

                int id = controller.AuthenticateClient(clientCredentials.Email, clientCredentials.Password);
                if (id > 0)
                {
                    //SessionId|ID|yyyyMMddHHmmss|IpAddress|C
                    authHeader.SecurityToken =
                        Cryptographic.Encryptor(authHeader.SessionId + "|" + id + "|" +
                                                DateTime.Now.AddMinutes(20).ToString("yyyyMMddHHmmss") + "|" + ipAddress +
                                                "|C");
                    securityReply.Message = "Authentication successfully";
                    securityReply.Success = true;
                    return(securityReply);
                }
                else
                {
                    securityReply.Message = "username or Password is invalid";
                    securityReply.Success = false;
                    return(securityReply);
                }
            }
            catch (Exception ex)
            {
                securityReply.Success   = false;
                securityReply.Message   = ex.Message;
                securityReply.Exception = ex.Treatment();
                return(securityReply);
            }
        }
        /// <summary>
        /// Save, update
        /// </summary>
        /// <param name="typeAction">opc:1-> Update promoter, 2-> New Promoter, 3-> update customer, 4-> Create customer</param>
        public void actionToSave(string typeAction)
        {
            // Cedula
            string cedula = txtDoc.Text.Trim();

            //veificando documento
            if (cedula.Length != 8 && cedula.Length != 11)
            {
                msnMessage.LoadMessage("El Numero de Documento es incorrecto. por favor verifique", UserControl.ucMessage.MessageType.Error);
                return;
            }

            // Tipo doc
            string tipoDoc = dwDocType.SelectedValue;
            // 1er Nombre
            string primerNombre = txtFirstName.Text.Trim();
            // 2do Nombre
            string segundoNombre = txtMiddleName.Text.Trim();
            // 1er Apellido
            string primerApellido = txtFirstSurname.Text.Trim();
            // 2do Apellido
            string segApellido = txtSecondSurname.Text.Trim();
            // Fecha Nacimiento
            DateTime fechaNacimiento;

            try
            {
                fechaNacimiento = Convert.ToDateTime((txtBirth.Text.Equals(string.Empty)) ? "01/01/1900" : txtBirth.Text);
            }
            catch
            {
                fechaNacimiento = Convert.ToDateTime("01/01/1900");
            }

            // Tipo de persona
            string tipoPersona = dwPersonType.SelectedValue;
            // Sexo
            string sexo = rbSex.SelectedItem.Value;
            // Dirección
            string direccion = txtAddress.Text.Trim();
            // Teléfono
            string telefono = txtPhone.Text.Trim();
            // E-Mail
            string mail = txtMail.Text.Trim();
            // Celular
            string celular = txtCel.Text.Trim();
            // Fax
            string fax = txtFax.Text.Trim();
            // Ciudad
            string ciudad = dwCity.SelectedItem.Value;

            string agencia = txtagencia.Text.Trim();
            string destino = txtdestino.Text.Trim();

            string agencia_ruc = txtagenciaruc.Text.Trim();

            string ruc_comision = txtRucComision.Text.Trim();
            // Estado Cuenta
            //string estado = "A";

            // Usuario que realiza la accion
            string User = Convert.ToString(Page.User.Identity.Name);

            Users cust = (Users)Session[_nameSessionCoord];

            if (typeAction.Equals(_formUpdCust))
            {
                // Area de localizacion
                string area = this.dwArea.SelectedValue;
                //
                string tipoFlete = this.dwHandlingType.SelectedValue;

                // Bodega
                string warehouseId = dwWare.SelectedValue;

                try
                {
                    // Realizar procesos de actualizacion de un coordinador
                    string respuesta = Basic_Data.updateBasicDatausers(cust._usn_userid, primerNombre, segundoNombre, primerApellido, segApellido, fechaNacimiento, tipoDoc, tipoPersona,
                                                                       direccion, telefono, fax, celular, mail, area, User, sexo, ciudad, "", true, agencia, destino, agencia_ruc, ruc_comision);


                    //string respuesta = Basic_Data.updateBasicData(_user._usv_co, cust._usn_userid, primerNombre, segundoNombre, primerApellido, segApellido,
                    //                   fechaNacimiento, cedula, "", tipoDoc, tipoPersona, direccion, telefono, fax,
                    //                   celular, mail, ciudad, estado, "1", area, User, sexo);

                    //Users.createUserLider(_user._usv_co, Convert.ToDecimal(cust._usn_userid), mail, Cryptographic.encrypt(cedula));
                    //
                    //respuesta = Coordinator.updateCoordinator(_user._usv_co, cust._usn_userid.ToString(), dwCustType.SelectedValue,
                    //    warehouseId, tipoFlete);

                    msnMessage.LoadMessage("Actualización correcta.", UserControl.ucMessage.MessageType.Information);
                    cleanInfo(typeAction);
                    txtDoc.Focus();
                }
                catch (Exception ex)
                {
                    msnMessage.LoadMessage("Ha ocurrido un error intentado actualizar." + ex.Message, UserControl.ucMessage.MessageType.Error);
                    cleanInfo(typeAction);
                    txtDoc.Focus();
                }
            }
            // Create customer
            else if (typeAction.Equals(_formCreProm))
            {
                //string tipoDePago = "3";
                ///
                //string terminosEntrega = "1";
                ///
                //string tipoMoneda = "PEN";///"1";
                // Bodega
                string warehouseId = dwWare.SelectedValue;
                //
                string tipoFlete = this.dwHandlingType.SelectedValue; ///"2";
                //
                //string creditoBandera = "F";
                //
                //string limiteCredito = "0";
                //
                //string autoretenedor = "F";
                //
                //string granContri = "T";

                // Area de localizacion
                string area = this.dwArea.SelectedValue;

                try
                {
                    // Insertar el nevo coordinador
                    //string resp = Coordinator.addNewLider(_user._usv_co, primerNombre, segundoNombre, primerApellido, segApellido,
                    //                   fechaNacimiento, cedula, "", tipoDoc, tipoPersona, direccion, telefono, fax,
                    //                   celular, mail, ciudad, estado, "1", area, User, User, sexo, dwCustType.SelectedValue,
                    //                   tipoDePago, terminosEntrega, tipoMoneda, warehouseId, "", "", "", tipoFlete, creditoBandera,
                    //                   limiteCredito, autoretenedor, granContri);

                    string resp = Basic_Data.crear_usuario(primerNombre, segundoNombre, primerApellido, segApellido, fechaNacimiento, cedula, tipoDoc, tipoPersona, direccion,
                                                           telefono, fax, celular, mail, area, User, sexo, ciudad, "01", Cryptographic.encrypt(cedula), 0, true, agencia, destino, agencia_ruc, ruc_comision);

                    // Crear el login de usuario para el coordinador con el cual podra iniciar sesion en el sistema
                    //Users.createUserLider(_user._usv_co, Convert.ToDecimal(resp), mail, Cryptographic.encrypt(cedula));
                    //
                    msnMessage.LoadMessage("El nuevo Lider se ha creado correctamente; recuerde que su usuario sera el correo electronico (" + mail
                                           + ") y la contraseña su número de documento.", UserControl.ucMessage.MessageType.Information);
                    cleanInfo(typeAction);
                    txtDoc.Focus();
                }
                catch (Exception ex)
                {
                    msnMessage.LoadMessage("Ha ocurrido un error intentado actualizar." + ex.Message, UserControl.ucMessage.MessageType.Error);
                    //cleanInfo(typeAction);
                    txtDoc.Focus();
                }
            }
        }
示例#23
0
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            /// Verificar campos en blanco
            ///
            if (!String.IsNullOrEmpty(this.txtUserName.Text))
            {
                ///
                if (!String.IsNullOrEmpty(this.txtPassword.Password))
                {
                    ///
                    // Write code here to authenticate user
                    _user = _userVM.getAndLoadUserByUserName(txtUserName.Text);

                    if (_user != null)
                    {
                        String pass        = this.txtPassword.Password;
                        String passDecrypt = Cryptographic.decrypt(_user._usu_contraseña);
                        ///
                        if (pass.Equals(passDecrypt))
                        {
                            ///
                            if (_user._usu_est_id.Equals(ValuesDB.acronymStatusActive))
                            {
                                // If authenticated, then set DialogResult=true
                                DialogResult = true;
                                this.Close();
                            }
                            else
                            {
                                MessageBox.Show("Usuario inactivo; imposible iniciar sesión.",
                                                ValuesDB.captionHeaderErrorWindow, MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                        else
                        {
                            ///
                            this.txtUserName.Focus();
                            ///
                            MessageBox.Show("Usuario y/o contraseña invalidos.",
                                            ValuesDB.captionHeaderErrorWindow, MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                    else
                    {
                        ///
                        this.txtUserName.Focus();
                        ///
                        MessageBox.Show("Usuario y/o contraseña invalidos.",
                                        ValuesDB.captionHeaderErrorWindow, MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    ///
                    this.txtPassword.Focus();
                    ///
                    MessageBox.Show("Por favor, ingrese su contraseña.",
                                    ValuesDB.captionHeaderErrorWindow, MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                ///
                this.txtUserName.Focus();
                ///
                MessageBox.Show("Por favor, ingrese su nombre de usuario.",
                                ValuesDB.captionHeaderErrorWindow, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#24
0
        // ReSharper disable once ParameterHidesMember
        private int ValidSecurityToken(AuthHeader authHeader)
        {
            if (authHeader != null)
            {
                if (string.IsNullOrEmpty(authHeader.SecurityToken))
                {
                    throw new SoapException("SecurityToken is invalid", SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                //SessionId|ID|yyyyMMddHHmmss|IpAddress
                string[] variableToken;
                try
                {
                    variableToken = Cryptographic.Decryptor(authHeader.SecurityToken).Split('|');
                }
                catch (Exception ex)
                {
                    throw new SoapException("SecurityToken is invalid - " + ex.Message, SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                if (variableToken.Length <= 2)
                {
                    throw new SoapException("SecurityToken is invalid", SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                string clientIdOrUserId = variableToken[1].Trim();
                string sessionId        = variableToken[0].Trim();
                string date             = variableToken[2].Trim();
                string ipSecurity       = variableToken[3].Trim().Replace(".", "").Replace(":", "").Replace("\0", "");
                string ipAddress        = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", "");
                if (String.IsNullOrEmpty(ipAddress))
                {
                    if (Context.Request.UserHostAddress != null)
                    {
                        ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", "");
                    }
                }

                if (ipSecurity != ipAddress && ipAddress != "1" && ipAddress != "127001")
                {
                    throw new SoapException("Ip is invalid. Your IP: " + ipAddress + " and Ip Security: " + ipSecurity,
                                            SoapException.ClientFaultCode, Context.Request.Url.AbsoluteUri);
                }

                int id;
                if (!int.TryParse(clientIdOrUserId, out id))
                {
                    throw new SoapException("Client or User is invalid", SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                if (authHeader.SessionId != sessionId)
                {
                    throw new SoapException("SessionId is invalid", SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                if (DateTime.Now.AddMinutes(-1) >
                    DateTime.ParseExact(date, "yyyyMMddHHmmss", CultureInfo.InvariantCulture))
                {
                    throw new SoapException("Session expired", SoapException.ClientFaultCode,
                                            Context.Request.Url.AbsoluteUri);
                }

                return(id);
            }
            throw new SoapException("User is no logged", SoapException.ClientFaultCode, Context.Request.Url.AbsoluteUri);
        }
示例#25
0
        private void ValidSecurityToken()
        {
            bool isNew = false;

            if (string.IsNullOrEmpty(SecurityToken) && Request.QueryString["Token"] != null)
            {
                SecurityToken = Request.QueryString["Token"];
                isNew         = true;
            }


            if (string.IsNullOrEmpty(SecurityToken))
            {
                throw new Exception("SecurityToken is invalid");
            }

            //SessionId|ID|yyyyMMddHHmmss|IpAddress
            string[] variableToken;
            try
            {
                variableToken = Cryptographic.Decryptor(SecurityToken).Split('|');
            }
            catch (Exception ex)
            {
                throw new Exception("SecurityToken is invalid - " + ex.Message, ex);
            }

            if (variableToken.Length <= 3)
            {
                throw new Exception("SecurityToken is invalid");
            }

            string clientIdOrUserId = variableToken[1].Trim();
            string sessionId        = variableToken[0].Trim();
            string date             = variableToken[2].Trim();
            string ipSecurity       = variableToken[3].Trim().Replace(".", "").Replace(":", "").Replace("\0", "");
            //string tipoUserOrClient = variableToken[4].Trim().Replace("\0", "");
            string ipAddress = Context.Request.ServerVariables["REMOTE_ADDR"].Replace(".", "").Replace(":", "");

            if (String.IsNullOrEmpty(ipAddress))
            {
                if (Context.Request.UserHostAddress != null)
                {
                    ipAddress = Context.Request.UserHostAddress.Replace(".", "").Replace(":", "");
                }
            }

            if (ipSecurity != ipAddress && ipAddress != "1" && ipAddress != "127001")
            {
                throw new Exception("Ip is invalid. Your IP: " + ipAddress + " and Ip Security: " + ipSecurity);
            }

            int id;

            if (!int.TryParse(clientIdOrUserId, out id))
            {
                throw new Exception("Client or User is invalid");
            }

            if (SessionString != sessionId && isNew == false)
            {
                throw new Exception("SessionId is invalid");
            }

            if (DateTime.Now.AddMinutes(-1) > DateTime.ParseExact(date, "yyyyMMddHHmmss", CultureInfo.InvariantCulture))
            {
                throw new Exception("Session expired");
            }

            if (id != ClientOrUserId && isNew == false && ClientOrUserId != 0)
            {
                throw new Exception("Client or User is invalid");
            }

            if (UsuarioLogado == null || isNew)
            {
                SecurityController controller = new SecurityController();
                UsuarioLogado = controller.GetUser(ClientOrUserId);
            }
        }