Ejemplo n.º 1
0
 public static bool IsCurrentFlowSuccess(LoginResultEnum result)
 {
     return(result == LoginResultEnum.FirstLevelSuccess ||
            result == LoginResultEnum.ImageSelectionSucess ||
            result == LoginResultEnum.OTPSecuritySuccess ||
            result == LoginResultEnum.OTPSelectionSucess ||
            result == LoginResultEnum.PasswordChangeSuccess ||
            result == LoginResultEnum.PinChangeSuccess ||
            result == LoginResultEnum.SecondLevelSuccess ||
            result == LoginResultEnum.SecurityImageSelectSuccess ||
            result == LoginResultEnum.SecurityImageSuccess ||
            result == LoginResultEnum.SecurityWarningConfirmed ||
            result == LoginResultEnum.CustomerInfoSuccess ||
            result == LoginResultEnum.Successful ||
            result == LoginResultEnum.UserNameChangeSuccess ||
            result == LoginResultEnum.SPKSuccess ||
            result == LoginResultEnum.MasakSuccess ||
            result == LoginResultEnum.LoginByCard ||
            result == LoginResultEnum.LoginByTCID ||
            result == LoginResultEnum.LoginByUserCode ||
            result == LoginResultEnum.SoftOTPSuccess ||
            result == LoginResultEnum.SmsOTPSuccess ||
            result == LoginResultEnum.HardOTPSuccess ||
            result == LoginResultEnum.LogoutSuccess ||
            result == LoginResultEnum.SecretQuestionAnswerSuccess ||
            result == LoginResultEnum.ValidationSuccess ||
            result == LoginResultEnum.BirthDateValidationSuccess);
 }
    private void GALogin()
    {
        AjaxResult result = new AjaxResult();

        result.IsSuccess = false;
        result.Msg       = "登录失败!";
        var password = Request.Form["htxtPassword"]; //登录密码改在客户用js 的DES加密
        var userName = Request.Form["txtUserName"];
        var vcode    = Request.Form["txtCode"];
        //    var remember = Request.Form["rememberme"] == "on" ? true : false;
        string ssCode = string.Empty;

        if (Session["session_verifycode"] != null)
        {
            ssCode = Session["session_verifycode"].ToString();
            Session.Remove("session_verifycode");
        }
        else
        {
            Response.Write(result.ToJsonString());
            Response.ContentType = "application/json";
            Response.End();
        }
        if (!ssCode.Equals(vcode, StringComparison.CurrentCultureIgnoreCase))
        {
            result.Msg = "验证码错误,请重新输入!";
            Response.Write(result.ToJsonString());
            Response.ContentType = "application/json";
            Response.End();
        }
        //解密的密码
        var    PPassword = DES.uncMe(password, userName);
        string msg;

        //将明文密码转化为MD5加密
        password = CryptTools.HashPassword(PPassword);
        LoginResultEnum loginResult = LoginUtil.GALogin(StringSafeFilter.Filter(userName), StringSafeFilter.Filter(password.ToUpper()), false, out msg);

        if (loginResult == LoginResultEnum.LoginSuccess)
        {
            result.IsSuccess = true;
            result.Msg       = msg;
        }

        if (loginResult == LoginResultEnum.NoUser ||
            loginResult == LoginResultEnum.OtherError || loginResult == LoginResultEnum.PasswordError ||
            loginResult == LoginResultEnum.LockUser)
        {
            result.Msg = msg;
        }

        Response.Clear();
        Response.Write(result.ToJsonString());
        Response.ContentType = "application/json";
        Response.End();
    }
Ejemplo n.º 3
0
        public static List <int> GetFailedLoginResult()
        {
            List <int> list = new List <int>();

            foreach (var item in Enum.GetValues(typeof(LoginResultEnum)))
            {
                LoginResultEnum loginresult = (LoginResultEnum)item;
                if (!IsCurrentFlowSuccess(loginresult))
                {
                    list.Add(loginresult.GetHashCode());
                }
            }
            return(list);
        }
Ejemplo n.º 4
0
        public static string GetLoginResultMessage(LoginResultEnum loginResult)
        {
            switch (loginResult)
            {
            case LoginResultEnum.Success:
                return(Success);

            case LoginResultEnum.LockedOut:
                return(LockedOut);

            case LoginResultEnum.NotAllowed:
                return(NotAllowed);

            default:
                return(Fail);
            }
        }
Ejemplo n.º 5
0
        public LoginResult GetClientOrEmployee(int id, string password)
        {
            using (var context = new CellularDbContext())
            {
                LoginResultEnum resultType = 0;
                object          result     = null;

                var client = context.Clients.Find(id);

                if (client != null)
                {
                    if (client.Password == password)
                    {
                        resultType = LoginResultEnum.Client;
                        result     = client;
                    }
                    else
                    {
                        resultType = LoginResultEnum.WrongPassword;
                    }
                }
                else
                {
                    var employee = context.Employees.Find(id);
                    if (employee != null)
                    {
                        if (employee.Password == password)
                        {
                            resultType = LoginResultEnum.Employee;
                            result     = employee;
                        }
                        else
                        {
                            resultType = LoginResultEnum.WrongPassword;
                        }
                    }
                }
                return(new LoginResult {
                    ResultType = resultType, Result = result
                });
            }
        }
Ejemplo n.º 6
0
        protected override void OnAuthServerPacketReceive(AuthClient client, AuthPacket packet)
        {
            if (packet.ID != AuthPacketEnum.SERVER_KEEPALIVE)
            {
                WriteConsole.WriteLine("[SYNC_RECEIVED_PACKET]:  " + packet.ID);
            }
            switch (packet.ID)
            {
            case AuthPacketEnum.SERVER_KEEPALIVE:     //KeepAlive
            {
            }
            break;

            case AuthPacketEnum.SERVER_CONNECT:
            {
            }
            break;

            case AuthPacketEnum.SERVER_RELEASE_CHAT:
            {
                string GetNickName = packet.Message.PlayerNick;
                string GetMessage  = packet.Message.PlayerMessage;
                GameTools.PacketCreator.ChatText(GetNickName, GetMessage, true);
            }
            break;

            case AuthPacketEnum.RECEIVES_USER_UID:
                break;

            case AuthPacketEnum.SEND_DISCONNECT_PLAYER:
            {
                uint UID = packet.Message.ID;

                var player = GetPlayerByUID(UID);

                if (player != null)
                {
                    DisconnectPlayer(player);
                }
            }
            break;

            case AuthPacketEnum.SERVER_RELEASE_TICKET:
            {
                string GetNickName = packet.Message.GetNickName;
                string GetMessage  = packet.Message.GetMessage;
                using (var result = new PangyaBinaryWriter())
                {
                    result.Write(new byte[] { 0xC9, 0x00 });
                    result.WritePStr(GetNickName);
                    result.WritePStr(GetMessage);
                    SendToAll(result.GetBytes());
                }
            }
            break;

            case AuthPacketEnum.SERVER_RELEASE_BOXRANDOM:
            {
                string GetMessage = packet.Message.GetMessage;
                Notice(GetMessage);
            }
            break;

            case AuthPacketEnum.SERVER_RELEASE_NOTICE_GM:
            {
                string Nick    = packet.Message.GetNick;
                string message = packet.Message.mensagem;
                HandleStaffSendNotice(Nick, message);
            }
            break;

            case AuthPacketEnum.SERVER_RELEASE_NOTICE:
            {
                string message = packet.Message.mensagem;
                using (var result = new PangyaBinaryWriter())
                {
                    result.Write(new byte[] { 0x42, 0x00 });
                    result.WritePStr("Aviso: " + message);
                    SendToAll(result.GetBytes());
                }
            }
            break;

            case AuthPacketEnum.PLAYER_LOGIN_RESULT:
            {
                LoginResultEnum loginresult = packet.Message.Type;

                if (loginresult == LoginResultEnum.Error || loginresult == LoginResultEnum.Exception)
                {
                    WriteConsole.WriteLine("[CLIENT_ERROR]: Sorry", ConsoleColor.Red);
                    return;
                }
            }
            break;

            case AuthPacketEnum.SERVER_COMMAND:
                break;

            default:
                WriteConsole.WriteLine("[AUTH_PACKET]:  " + packet.ID);
                break;
            }
        }
Ejemplo n.º 7
0
    public static LoginResultEnum GALogin(string userName, string password, bool rememberme, out string msg)
    {
        UserInfoBLL bll = new UserInfoBLL();

        msg = "登录成功!";
        //登录结果
        LoginResultEnum loginResult = LoginResultEnum.LoginSuccess;

        try
        {
            UserInfo user = bll.Get(userName);
            if (user == null)
            {
                msg         = "用户不存在!";
                loginResult = LoginResultEnum.NoUser;
                return(loginResult);
            }

            if (password != user.Password)
            {
                msg         = "密码错误!";
                loginResult = LoginResultEnum.PasswordError;
                return(loginResult);
            }

            if (user.Status != 0)
            {
                msg         = "用户被冻结或注销";
                loginResult = LoginResultEnum.LockUser;
                return(loginResult);
            }
            var userInfoCookie = new UserInfoCookie
            {
                ID                = user.ID,
                UserName          = user.UserName,
                CreateTime        = user.CreateTime,
                Status            = user.Status,
                IsGeneralAviation = user.IsGeneralAviation,
                CompanyCode3      = user.CompanyCode3,
                RoleName          = bll.GetRoleNameList(user.ID)
            };
            if (!string.IsNullOrEmpty(user.CompanyCode3))
            {
                var com = bll.GetCompany(user.CompanyCode3);
                if (com != null)
                {
                    userInfoCookie.CompanyName = com.CompanyName;
                }
            }


            if (!UserLoginService.Instance.InsertOrUpdateLoginInfo(userInfoCookie, rememberme))
            {
                throw new Exception();
            }

            return(loginResult);
        }
        catch (Exception ex)
        {
            msg         = "系统错误,无法登录";
            loginResult = LoginResultEnum.OtherError;
            return(loginResult);
        }
        finally
        {
            LoginLogBLL loginbll = new LoginLogBLL();
            //记用户登录日志
            LoginLog entity = new LoginLog()
            {
                Msg       = msg,
                UserName  = userName,
                LoginTime = DateTime.Now,
                IPAddress = IPAddressHelper.GetClientIp()
            };
            loginbll.Add(entity);
        }
    }
Ejemplo n.º 8
0
 public LoginResponseDto(LoginResultEnum result, string auth = null)
 {
     Result = result;
     Auth   = auth;
 }
Ejemplo n.º 9
0
 public LoginResult(LoginResultEnum result, Man man, string message)
 {
     Result  = result;
     Man     = man;
     Message = message;
 }
Ejemplo n.º 10
0
 public LoginAuthResult(LoginResultEnum result, DWORD userId)
 {
     Result = (uint)result;
     UserId = userId;
 }
Ejemplo n.º 11
0
        public async Task <WebApiResult> Login([FromBody] LoginUser user)
        {
            IUserComponet   _userComponet = GrainClient.GrainFactory.GetGrain <IUserComponet>("key");
            ISysLogComponet logRep        = GrainClient.GrainFactory.GetGrain <ISysLogComponet>("key");
            string          username      = user.UserName;
            string          password      = user.Password;
            bool            IsRememberMe  = user.RemenberMe;

            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                return new WebApiResult
                       {
                           Code = Enuncode.Error
                       }
            }
            ;

            LoginUser u = null;

            LoginResultEnum loginResult = await _userComponet.Login(username, password, (o) => { u = o; });

            if (loginResult == LoginResultEnum.Success)
            {
                var _tokens = TokenResultMsg.Createtoken(u.Id);

                //UserTokenManager.AddToken(ut);


                // 登录log

                var log = new Log()
                {
                    Action           = "Login",
                    Detail           = "会员登录:" + u.UserType + "|" + u.UserName,
                    CreateDate       = DateTime.Now,
                    CreatorLoginName = u.UserName,
                    IpAddress        = "127.0.0.1",
                    UserId           = 1
                };

                await logRep.Add(log);

                Token = u.Id;
                var data = new
                {
                    id       = u.Id,
                    issaler  = u.IsSaler.HasValue ? u.IsSaler.Value : false,
                    username = u.UserName,
                    token    = _tokens
                };
                return(new WebApiResult <dynamic>
                {
                    Code = Enuncode.Success,
                    Message = "Success",
                    Data = data
                });
            }

            if (loginResult == LoginResultEnum.UserNameUnExists)
            {
                return(new WebApiResult
                {
                    Code = Enuncode.Failed,
                    Message = "账号不存在",
                });
            }
            if (loginResult == LoginResultEnum.VerifyCodeError)
            {
                return(new WebApiResult
                {
                    Code = Enuncode.Failed,
                    Message = "验证码错误",
                });
            }
            if (loginResult == LoginResultEnum.UserNameOrPasswordError)
            {
                return(new WebApiResult
                {
                    Code = Enuncode.Failed,
                    Message = "账号密码错误",
                });
            }
            return(new WebApiResult
            {
                Code = Enuncode.Failed,
                Message = "登录失败,原因未知",
            });
        }