Beispiel #1
0
        protected override void execute()
        {
            if (!Migrator.TableExists <SystemInfo>())
            {
                Migrator.CreateTable <SystemInfo>(true).Execute();
                Migrator.Database.Insert(new SystemInfo()
                {
                    key   = "administrators",
                    Value = "admin"
                });
                Migrator.Database.Insert(new SystemInfo()
                {
                    key   = "barkKeyId",
                    Value = "TEg0VDlWNVU0Ug==".Base64Decode(),
                });
                Migrator.Database.Insert(new SystemInfo()
                {
                    key   = "barkTeamId",
                    Value = "NVU4TEJSWEczQQ==".Base64Decode(),
                });
                Migrator.Database.Insert(new SystemInfo()
                {
                    key   = "barkPrivateKey",
                    Value = "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR1RBZ0VBTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEJIa3dkd0lCQVFRZzR2dEMzZzVMNUhnS0dKMitUMWVBMHRPaXZSRXZFQVkyZytqdVJYSmtZTDJnQ2dZSUtvWkl6ajBEQVFlaFJBTkNBQVNtT3MzSmtTeW9HRVdac1VHeEZzLzRwdzFySWxTVjJJQzE5TTh1M0c1a3EzNnVwT3d5RldqOUdpM0VqYzlkM3NDNytTSFJxWHJFQUpvdzgvN3RScFYrCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=".Base64Decode()
                });
            }

            if (!Migrator.TableExists <SendInfo>())
            {
                Migrator.CreateTable <SendInfo>(true).Execute();
            }

            if (!Migrator.TableExists <SendUserInfo>())
            {
                Migrator.CreateTable <SendUserInfo>(true).Execute();
                SendUserInfo userInfo = new SendUserInfo()
                {
                    Token      = Guid.NewGuid().ToString("N").ToUpper(),
                    UserName   = "******",
                    Email      = "*****@*****.**",
                    CreateTime = DateTime.Now,
                    Active     = true,
                    Password   = "******".ToMd5()
                };
                Migrator.Database.Insert(userInfo);
            }

            if (!Migrator.TableExists <SendAuthInfo>())
            {
                Migrator.CreateTable <SendAuthInfo>(true).Execute();
            }
        }
Beispiel #2
0
        public void Run()
        {
            if (!m_migrator.TableExists <SendInfo>())
            {
                m_migrator.CreateTable <SendInfo>(true).Execute();
            }

            if (!m_migrator.TableExists <SystemInfo>())
            {
                m_migrator.CreateTable <SystemInfo>(true).Execute();

                DBase.Insert(new SystemInfo()
                {
                    key   = "administrators",
                    Value = "admin"
                });
            }

            if (!m_migrator.TableExists <SendUserInfo>())
            {
                m_migrator.CreateTable <SendUserInfo>(true).Execute();
                SendUserInfo userInfo = new SendUserInfo()
                {
                    Token      = "112D77BAD9704FFEAECD716B5678DFBE".ToUpper(),
                    UserName   = "******",
                    Email      = "*****@*****.**",
                    CreateTime = DateTime.Now,
                    Active     = true,
                    Password   = "******".ToMd5()
                };
                DBase.Insert(userInfo);
            }

            if (!m_migrator.TableExists <SendAuthInfo>())
            {
                m_migrator.CreateTable <SendAuthInfo>(true).Execute();
            }
        }
Beispiel #3
0
        private void HandleGetUserInfo(GetUserInfo payload, PayloadWriter writer)
        {
            uint accountId = payload.UserId;

            if (accountId != Account.Id)
            {
                StatusMsg resultPayload1 = Payloads.CreatePayload <StatusMsg>();
                resultPayload1.Errorcode = 1;
                resultPayload1.Errormsg  = "Incorrect account";
                resultPayload1.TicketId  = payload.TicketId;
                SendReply(writer, resultPayload1);
                return;
            }

            SendUserInfo resultPayload2 = Payloads.CreatePayload <SendUserInfo>();

            resultPayload2.UserId      = accountId;
            resultPayload2.Name        = Account.UserName;
            resultPayload2.Password    = null;
            resultPayload2.Mail        = Account.Email;
            resultPayload2.Banned      = false;
            resultPayload2.Active      = true;
            resultPayload2.Status      = 2;
            resultPayload2.Data        = Account.UserData;
            resultPayload2.Created     = "2012-04-02 00:00:00+0:00";
            resultPayload2.LastLogin   = "******";
            resultPayload2.TotalLogins = 1;
            resultPayload2.TicketId    = payload.TicketId;
            SendReply(writer, resultPayload2);

            StatusMsg resultPayload3 = Payloads.CreatePayload <StatusMsg>();

            resultPayload3.Errorcode = 0;
            resultPayload3.Errormsg  = null;
            resultPayload3.TicketId  = payload.TicketId;
            SendReply(writer, resultPayload3);
        }
Beispiel #4
0
        protected override void execute()
        {
            if (!Migrator.TableExists <SystemInfo>())
            {
                Migrator.CreateTable <SystemInfo>(true).Execute();
                Migrator.Database.Insert(new SystemInfo()
                {
                    key   = "administrators",
                    Value = "admin"
                });
            }

            if (!Migrator.TableExists <SendInfo>())
            {
                Migrator.CreateTable <SendInfo>(true).Execute();
            }

            if (!Migrator.TableExists <SendUserInfo>())
            {
                Migrator.CreateTable <SendUserInfo>(true).Execute();
                SendUserInfo userInfo = new SendUserInfo()
                {
                    Token      = Guid.NewGuid().ToString("N").ToUpper(),
                    UserName   = "******",
                    Email      = "*****@*****.**",
                    CreateTime = DateTime.Now,
                    Active     = true,
                    Password   = "******".ToMd5()
                };
                Migrator.Database.Insert(userInfo);
            }

            if (!Migrator.TableExists <SendAuthInfo>())
            {
                Migrator.CreateTable <SendAuthInfo>(true).Execute();
            }
        }
Beispiel #5
0
        public JsonResult GitHubLogin(string?code)
        {
            if (SendCacheStore.GetSystemValue("githubEnable") != "true")
            {
                return(Fail(401, "未启用GITHUB登陆"));
            }

            if (UserName != null && Token != null)
            {
                var direct = string.Format("/#login?token={0}", Token);
                HttpContext.Response.Redirect(direct, true);
                return(OK());
            }
            else
            {
                if (string.IsNullOrEmpty(code))
                {
                    return(OK(m_gitHubLogin.GetOauthUrl()));
                }
                else
                {
                    var res = m_gitHubLogin.Authorize();
                    if (res != null && res.Result != null && res.Code == Code.Success)
                    {
                        string?githubUserName = null;
                        string?avtar          = null;
                        string email          = "";
                        if (res.Result.TryGetValue("login", out JToken? jToken))
                        {
                            githubUserName = jToken.ToString();
                        }

                        if (res.Result.TryGetValue("avatar_url", out jToken))
                        {
                            avtar = jToken.ToString();
                        }

                        if (res.Result.TryGetValue("email", out jToken))
                        {
                            email = jToken.ToString();
                        }

                        if (githubUserName != null && avtar != null)
                        {
                            SendUserInfo user;
                            if (DBManager.Instance.IsUser(githubUserName))
                            {
                                user        = DBManager.Instance.DBase.Query <SendUserInfo>().FirstOrDefault(e => e.UserName == githubUserName);
                                user.Avatar = avtar;
                                DBManager.Instance.DBase.Update(user);
                                if (!user.Active)
                                {
                                    return(Fail(401, "用户被禁用"));
                                }
                            }
                            else
                            {
                                user = new SendUserInfo()
                                {
                                    UserName   = githubUserName,
                                    Avatar     = avtar,
                                    Password   = "******".ToMd5(),
                                    Email      = email,
                                    Active     = true,
                                    Token      = Guid.NewGuid().ToString("N").ToUpper(),
                                    CreateTime = DateTime.Now
                                };
                                DBManager.Instance.DBase.Insert(user);
                            }

                            var token  = GenToken(user.UserName);
                            var direct = string.Format("/#login?token={0}", token);
                            HttpContext.Response.Redirect(direct, true);
                            return(OK(user));
                        }
                    }
                }
            }
            return(Fail(401, "Github登陆失败"));
        }
        public int SendMsgCode(string phone, string type)
        {
            if (type == null || type.Length == 0)
            {
                return -2;//系统错误
            }

            if (phone != null && phone.Length > 0 && Regex.Match(phone, @"^[1][3,5,8][0-9]{9}$", RegexOptions.Compiled).Success)
            {
                var msgKey = string.Empty;
                if ("1".Equals(type))
                {
                    SearchModel se = new SearchModel("hq_member");
                    se["PhoneNum"] = phone;
                    se.AddSearch("count(1)");
                    var count = se.LoadValue<int>();
                    if (count > 0)
                    {
                        return 9;
                    }

                    msgKey = "用户注册短信验证码:";
                }

                if ("3".Equals(type))
                {
                    SearchModel se = new SearchModel("hq_member");
                    se["PhoneNum"] = phone;
                    se.AddSearch("count(1)");
                    var count = se.LoadValue<int>();
                    if (count > 0)
                    {
                        return 9;
                    }

                    msgKey = "用户修改手机号码短信验证码:";
                }

                if ("2".Equals(type))
                {
                    msgKey = "用户找回密码验证码:";
                }

                var yzm = string.Empty;
                foreach (var i in Ran.GetRandomArray(6, 0, 9))
                {
                    yzm += i.ToString();
                }
                SendUserInfo _U = new SendUserInfo() { isLog = 1, orgid = 555, username = phone };
                if (MsgSend.DirectSend(msgKey + yzm, phone, _U))
                {
                    base.HttpContext.Cache["msg-" + phone] = yzm;
                    return 1;
                }
                else
                {
                    return 0;
                }
            }
            else
            {
                return -1;
            }
        }