コード例 #1
0
    public override void OnResponse(MessageData mdata)
    {
        LoginResultCode resCode = (LoginResultCode)Enum.Parse(typeof(LoginResultCode), mdata.data);

        if (resCode == LoginResultCode.Success)
        {
            Toast.ShowToast("登陆成功");
            return;
        }
        Toast.ShowToast("用户名不存在或密码不正确");
    }
コード例 #2
0
        public void Login(string data, Client client)
        {
            string[] account = data.Split(' ');
            bool     res     = userDAO.ExistAccount(client.GetConn(), account[0], account[1]);

            LoginResultCode resCode = Common.LoginResultCode.Fail;

            if (res)
            {
                resCode = Common.LoginResultCode.Success;
            }
            //Console.WriteLine("结果:" + resCode.ToString());
            OnResponseLogin(resCode, client);
        }
コード例 #3
0
        public static string ToMessage(this LoginResultCode result)
        {
            switch (result)
            {
            case LoginResultCode.Success:
                return("操作成功");

            case LoginResultCode.Error:
                return("操作失败");

            case LoginResultCode.UserNotFound:
                return("用户信息未找到");

            case LoginResultCode.WrongPassword:
                return("密码错误");

            case LoginResultCode.MappingNotFound:
                return("账号映射未找到");

            default:
                return("未知的结果");
            }
        }
コード例 #4
0
 public LoginResult(LoginResultCode code)
 {
     Code = code;
 }
コード例 #5
0
 public LoginResultArgs(string userName, LoginResultCode result, string additionalDetail)
 {
     this.MachineName      = userName;
     this.Result           = result;
     this.AdditionalDetail = additionalDetail;
 }
コード例 #6
0
 public LoginResult()
 {
     ResultCode = LoginResultCode.GenericError;
 }
コード例 #7
0
        private void OnResponseLogin(LoginResultCode resCode, Client client)
        {
            MessageData mdata = new MessageData(RequestCode.LoginRequest, ActionCode.Login, resCode.ToString());

            client.OnResponse(mdata);
        }
コード例 #8
0
        private static void HandleUploadControlLogin(HttpRequest Request, HttpResponse Response)
        {
            Encoding     e = Encoding.Unicode;
            BinaryReader r = new BinaryReader(Request.InputStream, e);

            int             messageVersion = -1;
            LoginResultCode resultCode     = LoginResultCode.LoginServerError;
            string          cookieName     = string.Empty;
            string          cookieValue    = string.Empty;
            string          message        = string.Empty;
            Guid            userId         = Guid.Empty;
            bool            loginOk        = false;

            const int PersistDays    = 30;
            const int timeoutMinutes = 30;

            try
            {
                int    len;
                byte[] raw;

                // read version
                messageVersion = r.ReadInt32();

                // read persistent
                bool persistent = r.ReadByte() == 0?false:true;

                // read username
                len = r.ReadInt32();
                raw = r.ReadBytes(len);
                string username = e.GetString(raw, 0, raw.Length - 2).Trim();

                // read password
                len = r.ReadInt32();
                raw = r.ReadBytes(len);
                string password = e.GetString(raw, 0, raw.Length - 2).Trim();

                // do login
                username = FixUsername(username);
                loginOk  = username == null?false:Database.ComparePassword(username, password, out userId);
                if (!loginOk)
                {
                    resultCode = LoginResultCode.BadCredentials;
                    Log.LogStatistics(1, "User ({0}) failed logging in with webclient: {1}.", username, messageVersion);
                }
                else
                {
                    Log.LogStatistics(1, "User ({0}) logged in with webclient: {1}.", username, messageVersion);
                    resultCode = LoginResultCode.LoginOk;
                    cookieName = System.Web.Security.FormsAuthentication.FormsCookieName;
                    string cookieUsername            = userId.ToString();
                    FormsAuthenticationTicket ticket = persistent
                                                ? new FormsAuthenticationTicket(
                        1, cookieUsername, DateTime.Now, DateTime.Now.AddDays(PersistDays), true, string.Empty)
                                                : new FormsAuthenticationTicket(cookieUsername, false, timeoutMinutes);
                    cookieValue = System.Web.Security.FormsAuthentication.Encrypt(ticket);

                    HttpCookie c = new HttpCookie(FormsAuthentication.FormsCookieName, cookieValue);
                    c.Expires = DateTime.Now.AddDays(PersistDays);
                    Response.Cookies.Add(c);
                }

                messageVersion = messageVersion;
            }
            catch
            {
                resultCode = LoginResultCode.LoginServerError;
                throw;
            }
            finally
            {
                BinaryWriter w = new BinaryWriter(Response.OutputStream, e);

                w.Write(messageVersion);

                w.Write((System.Int32)resultCode);

                w.Write(userId.ToByteArray());

                w.Write(2 * (1 + cookieName.Length));
                w.Write(e.GetBytes(cookieName));
                w.Write(new byte[2] {
                    0, 0
                });

                w.Write(2 * (1 + cookieValue.Length));
                w.Write(e.GetBytes(cookieValue));
                w.Write(new byte[2] {
                    0, 0
                });

                w.Write(2 * (1 + message.Length));
                w.Write(e.GetBytes(message));
                w.Write(new byte[2] {
                    0, 0
                });

                w.Flush();
            }
        }
コード例 #9
0
 public LoginResultEventArgs(string userName, LoginResultCode result, string additionalDetail)
 {
     MachineName      = userName;
     Result           = result;
     AdditionalDetail = additionalDetail;
 }