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);
            }
        }
        public static bool DealFunc(string username, string password, AppLog applog, ref string message)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                message = "账号或密码不能为空!";
                return(false);
            }

            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);
                return(true);
            }
            else
            {
                applog.InfoFormat("用户:{0}--->密码错误.", username);
                message = "很抱歉,功能密码输入不正确!";

                return(false);
            }
        }
        public static bool DealLogin(string username, string password, AppLog applog, ref string message)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                message = "账号或密码不能为空!";
                return(false);
            }

            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 Release
             * if (userInfo.Status == "Y")
             * {
             *  applog.InfoFormat("用户:{0}--->该账号已登录.", username);
             *  message="很抱歉,该账号已登录!";
             *
             *  return false;
             * }
             #endif
             */
            //查看密码是否匹配
            if (Md5Hash.VerifyMd5Hash(password, userInfo.LoginPassWord))
            {
                applog.InfoFormat("用户:{0}--->登陆成功.", username);

                /*
                 * //更新状态
                 * if (!Access.UpdateStatus_Y(username))
                 * {
                 *  applog.InfoFormat("用户:{0}--->登陆时修改状态异常:{1}", username);
                 *  message = "很抱歉,操作异常请重试!";
                 *
                 *  return false;
                 * }
                 *
                 * applog.InfoFormat("用户:{0}--->更新在线状态为:Y.", username);
                 * */
                return(true);
            }
            else
            {
                applog.InfoFormat("用户:{0}--->密码错误.", username);
                message = "很抱歉,密码输入不正确!";

                return(false);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 处理登陆
        /// </summary>
        /// <param name="message">账号+密码</param>
        public void DealLogin(User user, string message)
        {
            //账号+密码
            string[] msg     = message.Split(MessageTypes.NSP.ToCharArray());
            ILogger  ilogger = ILogger.GetInstance();

            UserInfo userInfo = null;

            //查看账号是否存在
            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.LOG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                return;
            }

            if (userInfo == null)
            {
                ilogger.Logger(string.Format("用户:{0}--->登陆账号不存在.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->登陆账号不存在.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.LOG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,该账号不存在!");

                return;
            }

            if (userInfo.UserStatus == "Y")
            {
                ilogger.Logger(string.Format("用户:{0}--->该账号已登录.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->该账号已登录.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.LOG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,该账号已登录!");

                return;
            }

            //查看密码是否匹配
            if (Md5Hash.VerifyMd5Hash(msg[1], userInfo.PassWord))
            {
                ilogger.Logger(string.Format("用户:{0}--->登陆成功.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->登陆成功.", user.client.Client.RemoteEndPoint);

                //更新状态
                try
                {
                    Access.UpdateStatus_Y(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.LOG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,操作异常请重试!");

                    return;
                }

                ilogger.Logger(string.Format("用户:{0}--->更新在线状态为:Y.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->更新在线状态为:Y.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.LOG + MessageTypes.PSP + "1" + MessageTypes.PSP
                        + userInfo.UserID + MessageTypes.NSP + userInfo.CardWord + MessageTypes.NSP + userInfo.UserName + MessageTypes.NSP + userInfo.UserPicture);
            }
            else
            {
                ilogger.Logger(string.Format("用户:{0}--->密码错误.", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->密码错误.", user.client.Client.RemoteEndPoint);
                SendMsg(user, MessageTypes.LOG + MessageTypes.PSP + "0" + MessageTypes.PSP + "很抱歉,密码输入有误!");
            }
        }