Exemplo n.º 1
0
        /// <summary>
        /// 处理修改密码请求
        /// </summary>
        /// <param name="message">账号+原密码+新密码</param>
        public void DealSET(User user, string message)
        {
            user.RunStatus = "修改密码.";

            string[] msg = message.Split(MessageTypes.NSP.ToCharArray());

            int result = 0;

            try
            {
                result = Access.ResetPassword(msg[0], Md5Hash.GetMd5Hash(msg[1]), Md5Hash.GetMd5Hash(msg[2]));
            }
            catch (Exception ex)
            {
                ilogger.Logger(string.Format("用户:{0}--->查找好友时查询好友异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                SendMsg(user, MessageTypes.SET + MessageTypes.PSP + "1" + MessageTypes.PSP + "很抱歉,查找好友异常!");

                return;
            }

            if (result == 0)
            {
                SendMsg(user, MessageTypes.SET + MessageTypes.PSP + "1" + MessageTypes.PSP + "很抱歉,原密码输入有误!");
                return;
            }

            SendMsg(user, MessageTypes.SET + MessageTypes.PSP + "1" + MessageTypes.PSP + "恭喜您,密码重置成功!");
        }
Exemplo n.º 2
0
 public Account(string login, string password, string email, string name)
 {
     Login    = login;
     Password = password;
     Email    = email;
     Name     = name;
     PwHash   = Md5Hash.GetMd5Hash(MD5.Create(), password);
 }
Exemplo n.º 3
0
        /// <summary>
        /// 重置密码
        /// </summary>
        /// <param name="message">账号+新密码+邮箱+验证码</param>
        public void DealReset(User user, string message)
        {
            //账号+新密码+邮箱+验证码
            string[] msg     = message.Split(MessageTypes.NSP.ToCharArray());
            ILogger  ilogger = ILogger.GetInstance();

            if (user.cardWord != msg[0] || user.userVMail != msg[2] || user.verNum != msg[3])
            {
                ilogger.Logger(string.Format("用户:{0}--->重置密码时账号、邮箱、验证码三者不匹配.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->重置密码时账号、邮箱、验证码三者不匹配.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.RES + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,账号、邮箱、验证码三者不匹配!");

                return;
            }

            UserInfo userInfo = null;

            //查询账号,将该账号信息映射到类UserInfo
            try
            {
                userInfo = Access.GetUserByCard(msg[0]);
            }
            catch (Exception ex)
            {
                ilogger.Logger(string.Format("用户:{0}--->重置密码时查询账号异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                Console.WriteLine("用户:{0}--->重置密码时查询账号异常:{1}", user.client.Client.RemoteEndPoint, ex.Message);
                SendMsg(user, MessageTypes.RES + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                return;
            }

            //修改密码,然后将UserInfo映射回数据库
            if (userInfo != null)
            {
                userInfo.PassWord = Md5Hash.GetMd5Hash(msg[1]);

                try
                {
                    Access.UpdateUser(userInfo);
                }
                catch (Exception ex)
                {
                    ilogger.Logger(string.Format("用户:{0}--->重置密码更新异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                    Console.WriteLine("用户:{0}--->重置密码更新异常:{1}", user.client.Client.RemoteEndPoint, ex.Message);
                    SendMsg(user, MessageTypes.RES + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                    return;
                }

                ilogger.Logger(string.Format("用户:{0}--->重置密码成功.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->重置密码成功.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.RES + MessageTypes.PSP + "0" + MessageTypes.PSP + "恭喜您,重置密码成功!");

                return;
            }
        }
Exemplo n.º 4
0
        private void Connect(string ip, int port)
        {
            for (int i = 0; i < 1000; i++)
            {
                try
                {
                    //Thread.Sleep(1000);
                    var client = new DuiAsynSocket.SocketClient();

                    client.IsSplitPack               = true;
                    client.HeartBeatsEnable          = true;
                    client.IsUseHeartBeatCertificate = true;

                    client.OnConnChangeEvent += _client_OnConnChangeEvent;
                    client.OnReceivedEvent   += _client_OnReceivedEvent;
                    client.Connect(ip, port);


                    string[] loginInfos = new string[]
                    {
                        "yangxinwen",
                        Md5Hash.GetMd5Hash("12345678"),
                        "933f63a173540f09b587fb7f95625bbb",
                        "1.1.1"
                    };
                    SubmitMessage submitMsg = new SubmitMessage()
                    {
                        ParamString = loginInfos,
                        TranName    = "UserLogin",
                        IsUseZip    = false,
                        Marker      = "Local"
                    };


                    client.Send(GetData(submitMsg));

                    var submit = new SubmitMessage()
                    {
                        TranName = "GetHQCache", Marker = "Local"
                    };
                    client.Send(GetData(submit));

                    submit = new SubmitMessage()
                    {
                        TranName = "GetConfigCache", Marker = "Local"
                    };
                    submit.ParamString = new string[] { "sdfsdf" };
                    client.Send(GetData(submit));
                }
                catch (Exception)
                {
                }
            }
        }
Exemplo n.º 5
0
        public static bool DealChangeFuncPassword(string username, string password, string newpassword, AppLog applog, ref string message)
        {
            UserInfo userInfo = null;

            //查看账号是否存在
            if (!Access.GetUserByCard(username, ref userInfo))
            {
                applog.InfoFormat("用户:{0}--->修改功能密码时查询账号异常.", username);
                message = "很抱歉,操作异常请重试!";

                return(false);
            }

            if (userInfo == null)
            {
                applog.InfoFormat("用户:{0}--->修改功能密码时账号不存在.", username);
                message = "很抱歉,该账号不存在!";

                return(false);
            }

            //查看密码是否匹配
            if (Md5Hash.VerifyMd5Hash(password, userInfo.FuncPassWord))
            {
                applog.InfoFormat("用户:{0}--->帐号存在.", username);

                //更新密码
                if (Access.ResetFuncPassword(username, Md5Hash.GetMd5Hash(newpassword)) == 0)
                {
                    applog.InfoFormat("用户:{0}--->修改功能密码异常:{1}", username);
                    message = "很抱歉,操作异常请重试!";

                    return(false);
                }

                applog.Info("用户:{0}--->修改功能密码成功.");
                return(true);
            }
            else
            {
                applog.InfoFormat("用户:{0}--->原始密码错误.", username);
                message = "很抱歉,原始密码输入有误!";

                return(false);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 处理注册
        /// </summary>
        /// <param name="message">账号+昵称+密码+头像+邮箱+验证码</param>
        public void DealRegister(User user, string message)
        {
            //账号+昵称+密码+头像+邮箱+验证码
            string[] msg     = message.Split(MessageTypes.NSP.ToCharArray());
            ILogger  ilogger = ILogger.GetInstance();

            //邮箱和注册码匹配
            if (user.userRMail == msg[4] && user.regNum == msg[5])
            {
                //进行注册
                ilogger.Logger(string.Format("用户:{0}--->开始注册...", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->开始注册...", user.client.Client.RemoteEndPoint);

                int result = 0;

                try
                {
                    result = Access.CardIsExist(msg[0]);
                }
                catch (Exception ex)
                {
                    ilogger.Logger(string.Format("用户:{0}--->注册时查询账号异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                    Console.WriteLine("用户:{0}--->注册时查询账号异常:{1}", user.client.Client.RemoteEndPoint, ex.Message);
                    SendMsg(user, MessageTypes.REG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                    return;
                }

                //账号被注册
                if (result != 0)
                {
                    ilogger.Logger(string.Format("用户:{0}--->账号已被注册.", user.client.Client.RemoteEndPoint));
                    Console.WriteLine("用户:{0}--->账号已被注册.", user.client.Client.RemoteEndPoint);
                    SendMsg(user, MessageTypes.REG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,该账号已被注册!");

                    return;
                }

                try
                {
                    UserInfo userInfo = new UserInfo()
                    {
                        CardWord = msg[0], UserName = msg[1], PassWord = Md5Hash.GetMd5Hash(msg[2]), UserPicture = msg[3], UserMail = msg[4], RegTime = DateTime.Now
                    };
                    Access.InsertUser(userInfo);
                }
                catch (Exception ex)
                {
                    ilogger.Logger(string.Format("用户:{0}--->注册异常:{1}", user.client.Client.RemoteEndPoint, ex.Message));
                    Console.WriteLine("用户:{0}--->注册异常:{1}", user.client.Client.RemoteEndPoint, ex.Message);
                    SendMsg(user, MessageTypes.REG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                    return;
                }

                ilogger.Logger(string.Format("用户:{0}--->注册成功...", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->注册成功...", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.REG + MessageTypes.PSP + "0" + MessageTypes.PSP + "恭喜您,注册成功!");

                return;
            }

            ilogger.Logger(string.Format("用户:{0}--->邮箱与注册码不匹配.", user.client.Client.RemoteEndPoint));
            Console.WriteLine("用户:{0}--->邮箱与注册码不匹配.", user.client.Client.RemoteEndPoint);
            SendMsg(user, MessageTypes.REG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,邮箱与注册码不匹配!");
        }
Exemplo n.º 7
0
        private int LoginUser(string username, string password)
        {
            string hash = Md5Hash.GetMd5Hash(MD5.Create(), password);

            return(_accountService.SignIn(username, hash));
        }