Example #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        body.Attributes.Add("data-user-id", ((SunamoPage)Page).idLoginedUser.ToString());
        if (txtSearchText.Value != "")
        {
            string red = "http://" + Request.Url.Host + "/Lyrics/Search/" + UH.UrlEncode(txtSearchText.Value.Replace(".", "-")).Replace('+', ' ');
            ((SunamoPage)Page).WriteToDebugWithTime(red);
        }

        footer.InnerHtml = SunamoPageHelper.GetFooterHtml(MySites.Lyrics);

        imgColorPiano.Src = web.UH.GetWebUri(this.Page, "css/Lyr/colorpiano.png");
        aHome.HRef        = web.UH.GetWebUri(this.Page, "Lyrics/Home");

        MasterPageHelper.WriteGeneralCode(this.Page, false, true);
        SunamoCzMetroUIHelper.SetHtmlMetroUpperBarV3(this, horniLista, MySites.Lyrics);

        btnLogOut.ServerClick += new EventHandler(btnLogOut_ServerClick);
        btnLogIn.ServerClick  += new EventHandler(btnLogIn_ServerClick);

        LoginedUser pu = SessionManager.GetLoginedUser(Page);

        if (pu.login != "")
        {
            loginForm.Visible = false;
            logined.Visible   = true;
        }
        else
        {
            loginForm.Visible = true;
            logined.Visible   = false;
        }
    }
        public JsonResult CreatePost(UploadPostModel model)
        {
            if (model.postContent != null)
            {
                string fileName            = CommonConstant.IMAGE_DEFAULT;
                HttpPostedFileWrapper file = model.postImage;
                if (file != null)
                {
                    fileName = postInteractService.saveFileToServer(file);
                }
                if (!string.IsNullOrEmpty(fileName))
                {
                    LoginedUser loginedUser = getUserInSession();


                    string postId = postInteractService.addPost(loginedUser.Id, model.postContent, fileName);
                    if (postId != null)
                    {
                        Response.StatusCode = (int)HttpStatusCode.OK;
                        return(Json(new
                        {
                            status = true,
                            postId,
                            imagePath = fileName,
                            model.postContent,
                            user = loginedUser
                        }));
                    }
                }
            }

            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
            return(Json(new { status = false }));
        }
        public async Task <JsonResult> RL(string Email, string Password)
        {
            var EncPassword = business.SessionSettings.Crypting.En_De_crypt._Encrypt(Password);

            try
            {
                using (business.Management.Management.Login r = new business.Management.Management.Login())
                {
                    if (r.checkLogin(Email, EncPassword))
                    {
                        LoginedUser _root = null;
                        var         root  = r.GetRoot(Email, EncPassword);
                        _root = new LoginedUser {
                            Root = await root, User = new User()
                        };
                        r.updateLoginDate(root.Result.RootId, DateTime.Now);
                        FormsAuthentication.SetAuthCookie(Newtonsoft.Json.JsonConvert.SerializeObject(_root), false);

                        return(await Task.Run(() => Json(new { result = true, message = "Giriş başarılı." }, JsonRequestBehavior.AllowGet)));
                    }
                    else
                    {
                        return(await Task.Run(() => Json(new { result = false, message = "Kayıtlı kullanıcı bulunamadı." }, JsonRequestBehavior.AllowGet)));
                    }
                }
            }
            catch (Exception e)
            {
                return(await Task.Run(() => Json(new { result = false, message = "Hata oluştu." }, JsonRequestBehavior.AllowGet)));
            }
        }
Example #4
0
        private LoginedUser SuperAdminUser(EmployeeContext context)
        {
            var superAdminUser = new LoginedUser();

            superAdminUser.User = new User
            {
                UserId    = long.MinValue,
                FirstName = "Super",
                LastName  = "Admin",
                UserName  = "******",
            };

            var allPermissionKeys = _permissionKeyRepository.Get(context);

            foreach (var permissionKeyEntity in allPermissionKeys)
            {
                superAdminUser.Permissions.Add(new UserPermission
                {
                    PermissionKeyFullName = GetPermissionKeyFullName(permissionKeyEntity, allPermissionKeys),
                    PermissionAccessType  = PermissionAccessTypes.Active,
                });
            }

            return(superAdminUser);
        }
Example #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="loginedUser"></param>
 /// <param name="passwordSha1">密码是必须的,因为传输Windows远程桌面密码时会用这个密码加密</param>
 public RpcUser(LoginedUser loginedUser, string passwordSha1)
 {
     if (string.IsNullOrEmpty(passwordSha1))
     {
         throw new InvalidProgramException();
     }
     this.LoginedUser = loginedUser;
     this.LoginName   = loginedUser.LoginName;
     this.Password    = passwordSha1;
 }
        public JsonResult userLogin(FormCollection form)
        {
            try
            {
                using (business.Management.UserManagement.UserFunctions userManagement = new business.Management.UserManagement.UserFunctions())
                {
                    var user          = userManagement.GetUser(form["Email"].ToString(), form["Password"].ToString()).Result;
                    var clientManager = new ClientManager();
                    var personal      = new Personal();

                    if (user != null)
                    {
                        LoginedUser _user = null;
                        if (user.Role == "ClientManager")
                        {
                            clientManager = userManagement.findClientManager(user.UserName, user.EncryptedPassword);
                        }
                        if (user.Role == "Personal" || user.Role == "Manager" || user.Role == "Admin")
                        {
                            personal = userManagement.findPersonal(user.UserName, user.EncryptedPassword);
                        }


                        if (user.Role.Contains("ClientManager"))
                        {
                            _user = new LoginedUser {
                                User = user, ClientManager_Id = clientManager.ClientManagerId, Firm_Id = clientManager.ManagerFirmId
                            };
                            userManagement.updateLoginDate(clientManager.ClientManagerId, DateTime.Now);
                            FormsAuthentication.SetAuthCookie(Newtonsoft.Json.JsonConvert.SerializeObject(_user), false);
                        }
                        else
                        {
                            _user = new LoginedUser {
                                User = user, Firm_Id = personal.OwnFirmId, Personal_Id = personal.PersonalId
                            };
                            userManagement.updateLoginDateP(personal.PersonalId, DateTime.Now);
                            FormsAuthentication.SetAuthCookie(Newtonsoft.Json.JsonConvert.SerializeObject(_user), false);
                        }

                        //Services.ClearCache.clear();

                        return(Json(new { result = true, message = "Başarı ile giriş yapıldı." }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { result = false, message = "Kayıtlı kullanıcı bulunamadı." }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { message = "Hata Oluştu." }, JsonRequestBehavior.AllowGet));
            }
        }
Example #7
0
        private void UserLogined(bool changedUser)
        {
            LoginViewVisibility = Visibility.Collapsed;

            Items.Clear();
            ActiveItem = null;
            _administrationWorkspaceViewModel = null;
            _employeeInfoViewModel            = null;

            LoginedUser = Sission.LoginedUser;
        }
Example #8
0
        public ActionResult CreateAccount(AccountModel model)
        {
            if (ModelState.IsValid)
            {
                if (addAccountService.emailExisted(model.Email) && addAccountService.phonelExisted(model.Phonenumber))
                {
                    Random rnd      = new Random();
                    int    idRandom = rnd.Next(1, 100000);

                    User user = new User()
                    {
                        id           = idRandom.ToString(),
                        username     = model.Username,
                        email        = model.Email,
                        avatar       = "https://minervastrategies.com/wp-content/uploads/2016/03/default-avatar.jpg",
                        password     = model.Password,
                        phone_number = model.Phonenumber,
                    };

                    Role role = new Role()
                    {
                        uid   = idRandom.ToString(),
                        role1 = "user"
                    };
                    addAccountService.insertAccount(user);
                    addAccountService.insertRole(role);

                    LoginedUser loginedUser = new LoginedUser()
                    {
                        Id           = idRandom.ToString(),
                        UserName     = model.Username,
                        UserFullName = user.fullname,
                        Avatar       = "https://minervastrategies.com/wp-content/uploads/2016/03/default-avatar.jpg",
                        Role         = "user"
                    };

                    Session.Add(CommonConstant.USER_SESSION, loginedUser);

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    if (!addAccountService.emailExisted(model.Email))
                    {
                        ModelState.AddModelError(string.Empty, "Email has already existed");
                    }
                    if (!addAccountService.phonelExisted(model.Phonenumber))
                    {
                        ModelState.AddModelError(string.Empty, "Phone number has already existed");
                    }
                }
            }
            return(View());
        }
Example #9
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            LoginedUser user = (LoginedUser)Session[CommonConstant.USER_SESSION];

            if (user == null || user.Role != CommonConstant.ROLE_ADMIN)
            {
                filterContext.Result = new RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary(
                                                                     new { controller = "Login", action = "Index" }));
            }


            base.OnActionExecuting(filterContext);
        }
        public JsonResult Comment(string postId, string text)
        {
            LoginedUser user   = getUserInSession();
            bool        result = postInteractService.addComment(user.Id, text, postId);

            return(Json(new
            {
                status = result,
                text,
                postId,
                user
            }));
        }
Example #11
0
        public ActionResult Index()
        {
            LoginedUser loginedUser = getUserInSession();

            UserAvatarModel userAvatarModel = new UserAvatarModel()
            {
                Id = loginedUser.Id, Avatar = loginedUser.Avatar, Username = loginedUser.UserName
            };

            NewFeedModel model = newFeedService.getNewFeedModel(loginedUser.Id);

            model.UserAvatar = userAvatarModel;


            return(View(model));
        }
Example #12
0
    public bool FillIDUsers()
    {
        if (idLoginedUser == -1)
        {
            LoginedUser lu = SessionManager.GetLoginedUser(this);

            int id = lu.ID(this);
            if (id != -1)
            {
                idLoginedUser = id;
                return(true);
            }
            return(false);
        }
        return(true);
    }
Example #13
0
        public ActionResult Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                char result = userService.verifyAccount(model.Email, model.Password);
                if (result == CommonConstant.LOGIN_OK)
                {
                    User   user = userService.getByEmail(model.Email);
                    string role = userService.getRole(user.id);

                    LoginedUser loginedUser = new LoginedUser()
                    {
                        Id           = user.id,
                        UserName     = user.username,
                        UserFullName = user.fullname,
                        Avatar       = user.avatar,
                        Role         = role
                    };

                    Session.Add(CommonConstant.USER_SESSION, loginedUser);

                    if (role == CommonConstant.ROLE_USER)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else if (role == CommonConstant.ROLE_ADMIN)
                    {
                        return(RedirectToAction("Index", "Admin"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Account is deactived. Please enter others");
                    }
                }
                else if (result == CommonConstant.LOGIN_FAIL)
                {
                    ModelState.AddModelError(string.Empty, "Wrong email or password");
                }
            }
            return(View("Index"));
        }
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            LoginedUser user = (LoginedUser)Session[CommonConstant.USER_SESSION];

            if (user == null || (user.Role != CommonConstant.ROLE_USER && user.Role != CommonConstant.ROLE_ADMIN))
            {
                filterContext.Result = new RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary(
                                                                     new { controller = "Login", action = "Index" }));
            }
            else
            {
                this.UserAvatar = new UserAvatarModel()
                {
                    Id = user.Id, Avatar = user.Avatar, Username = user.UserName
                };
                this.ViewBag.UserAvatar = this.UserAvatar;
            }


            base.OnActionExecuting(filterContext);
        }
Example #15
0
        public LoginedUser ValidateUser(string userName, string password, bool returnSuperAdminUser)
        {
            using (var context = GetDbContext())
            {
#if Develop
                if (returnSuperAdminUser)
                {
                    return(SuperAdminUser(context));
                }
#endif

                if (userName == Encryption.DecryptString(SuperAdminUserName) && password == Encryption.DecryptString(SuperAdminPassword))
                {
                    return(SuperAdminUser(context));
                }

                var searchQuery = new SearchQuery <UserEntity>();
                searchQuery.IncludeProperties = "UserGroups,UserGroups.UserGroupPermissions,UserGroups.UserGroupPermissions.PermissionKeyEntity";
                searchQuery.Filters.Add(u => u.UserName == userName);

                var userEntity = Get(context, searchQuery).FirstOrDefault();
                if (userEntity != null)
                {
                    var user = Mapper.Map <UserEntity, User>(userEntity);
                    if (user.Password == password)
                    {
                        var userPermissions = GetUserPermissions(context, userEntity);
                        var loginedUser     = new LoginedUser {
                            User = user
                        };
                        loginedUser.Permissions.AddRange(userPermissions);

                        return(loginedUser);
                    }
                }

                return(null);
            }
        }
Example #16
0
 public RpcUser(LoginedUser loginedUser, string passwordSha1)
 {
     this.LoginedUser = loginedUser;
     this.LoginName   = loginedUser.LoginName;
     this.Password    = passwordSha1;
 }
Example #17
0
        /// <summary>
        /// 处理客户端的方法
        /// </summary>
        public static void ProcessTcpClient()
        {
            using (NetworkStream ns = client.GetStream())
            {
                string receiveError = "";
                while (client.Connected)
                {
                    JObject json;
                    try { json = NetworkStreamProcessing.GetJObjectFromBase64Bytes(NetworkStreamProcessing.ReadDataFromNetworkStream(ns)); } catch (Exception e) { receiveError = e.Message; break; }
                    if ((string)json["application"] != "LNC")
                    {
                        client.Close();
                    }
                    try
                    {
                        if ((bool)json["error"] == true)
                        {
                            #region error
                            string action       = (string)json["action"];
                            string errorMessage = (string)json["errorMessage"];
                            string errorType    = (string)json["errorType"];
                            new Thread(() =>
                            {
                                System.Windows.Forms.MessageBox.Show($"详细信息如下:\n\n执行的动作: {action}\n\n错误类型:{errorType}\n\n错误信息:\n{errorMessage}", "错误", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                                lastError = (string)json["action"];
                            })
                            {
                                IsBackground = true
                            }.Start();
                            #endregion
                        }
                        else
                        {
                            switch ((string)json["action"])
                            {
                                #region login
                            case "login":
                                User = User.GetUserFromJObject((JObject)json["user"]);
                                break;

                                #endregion
                                #region changeUserInfo
                            case "changeUserInfo":
                                User tmp04 = User.GetUserFromJObject((JObject)json["user"]);
                                if (tmp04.Id == User.Id)
                                {
                                    User.ChangeInformation(tmp04);
                                }
                                else
                                {
                                    LoginedUser[tmp04.Id].ChangeInformation(tmp04);
                                }
                                Program.mainForm.Invoke(new Action(() => { UserInformationChanged?.Invoke(null, tmp04); }));
                                break;

                                #endregion
                                #region chat
                            case "chat":
                                Chat tmp = Chat.GetChatFromJObject(JObject.Parse(json["chat"].ToString()));
                                try { tmp.User = LoginedUser[tmp.UserId]; } catch { break; }
                                if (tmp.ToUserId == -1)
                                {
                                    _chatMessages.Add(tmp);
                                }
                                else
                                {
                                    LoginedUser[tmp.UserId].Messages.Add(tmp);
                                }
                                Program.mainForm.Invoke(new Action(() => { ReceiveChat?.Invoke(null, tmp); }));
                                break;

                                #endregion
                                #region getAllUser
                            case "getAllUser":
                                List <User> tmp1 = new List <User>();
                                foreach (JToken t in JArray.Parse(json["users"].ToString()))
                                {
                                    User u = User.GetUserFromJObject(JObject.Parse(t.ToString()));
                                    LoginedUser.Add(u.Id, u);
                                    tmp1.Add(u);
                                }
                                Program.mainForm.Invoke(new Action(() => { ReceiveOnlineUser?.Invoke(null, tmp1.ToArray()); }));
                                break;

                                #endregion
                                #region login2
                            case "login2":
                                User user = User.GetUserFromJObject(JObject.Parse(json["user"].ToString()));
                                LoginedUser.Add(user.Id, user);
                                Program.mainForm.Invoke(new Action(() => { UserLogin?.Invoke(null, user); }));
                                break;

                                #endregion
                                #region logout
                            case "logout":
                                User user2 = User.GetUserFromJObject(JObject.Parse(json["user"].ToString()));
                                var  tmp3  = LoginedUser[user2.Id];
                                LoginedUser.Remove(user2.Id);
                                Program.mainForm.Invoke(new Action(() => { UserLogout?.Invoke(null, tmp3); }));
                                break;

                                #endregion
                                #region file
                            case "file":
                                string filename = (string)json["filename"];
                                int    hash     = (int)json["hash"];
                                int    toUser   = (int)json["toUser"];
                                int    fromUser = (int)json["fromUser"];
                                int    port     = (int)json["port"];
                                new Thread(() =>
                                {
                                    TcpClient tmp0 = new TcpClient();
                                    tmp0.Connect(new IPEndPoint(serverIP, port));
                                    //Thread.Sleep(1000);
                                    JObject json1 = JObject.Parse("{\"type\":\"\"}");
                                    if (fromUser == User.Id)
                                    {
                                        json["type"] = "send";
                                    }
                                    else
                                    {
                                        json["type"] = "receive";
                                    }
                                    NetworkStreamProcessing.WriteBase64BytesEncodedJObjectToNetworkStream(tmp0.GetStream(), json);
                                    JObject json2 = NetworkStreamProcessing.GetJObjectFromBase64Bytes(NetworkStreamProcessing.ReadDataFromNetworkStream(tmp0.GetStream()));
                                    if ((int)json2["hash"] != hash)
                                    {
                                        return;
                                    }
                                    NetworkStream ns0 = tmp0.GetStream();
                                    if (fromUser == User.Id)
                                    {
                                        FileStream fs;
                                        try { fs = new FileStream(SendFilePool[hash], FileMode.Open); } catch { if (tmp0.Connected)
                                                                                                                {
                                                                                                                    tmp0.Close();
                                                                                                                }
                                                                                                                return; }
                                        while (fs.Position < fs.Length)
                                        {
                                            byte[] buffer = new byte[8192];
                                            try
                                            {
                                                int s = fs.Read(buffer, 0, 8192);
                                                ns0.Write(buffer, 0, s);
                                            }
                                            catch { if (tmp0.Connected)
                                                    {
                                                        tmp0.Close();
                                                    }
                                                    fs.Dispose(); return; }
                                        }
                                        try { fs.Close(); } catch { }
                                    }
                                    else
                                    {
                                        if (!Directory.Exists("ReceiveFiles"))
                                        {
                                            Directory.CreateDirectory("ReceiveFiles");
                                        }
                                        FileStream fs;
                                        try { fs = new FileStream(@"ReceiveFiles\" + filename, FileMode.CreateNew); } catch { if (tmp0.Connected)
                                                                                                                              {
                                                                                                                                  tmp0.Close();
                                                                                                                              }
                                                                                                                              return; }
                                        while (tmp0.Connected)
                                        {
                                            try
                                            {
                                                byte[] buffer = NetworkStreamProcessing.ReadDataFromNetworkStream(ns0);
                                                if (buffer.Length == 0)
                                                {
                                                    tmp0.Close();
                                                }
                                                fs.Write(buffer, 0, buffer.Length);
                                            }
                                            catch { if (tmp0.Connected)
                                                    {
                                                        tmp0.Close();
                                                    }
                                                    fs.Dispose(); }
                                        }
                                        try { fs.Close(); } catch { }
                                        if (tmp0.Connected)
                                        {
                                            tmp0.Close();
                                        }
                                        if (File.ReadAllBytes(@"ReceiveFiles\" + filename).GetHashCode() != hash)
                                        {
                                            System.Windows.Forms.MessageBox.Show($"\"{filename}\" 文件已损坏!");
                                        }
                                    }
                                })
                                {
                                    IsBackground = true
                                }.Start();
                                break;

                                #endregion
                                #region register
                            case "register":
                                if ((string)json["status"] == "success")
                                {
                                    Registered?.Invoke(null, EventArgs.Empty);
                                }
                                break;

                                #endregion
                                #region getNotVerifiedUsers
                            case "getNotVerifiedUsers":
                                List <User> tmp01 = new List <User>();
                                foreach (JObject t in JArray.Parse(json["users"].ToString()))
                                {
                                    tmp01.Add(User.GetUserFromJObject(t));
                                }
                                User[] tmp03 = tmp01.ToArray();
                                new Thread(() =>
                                {
                                    VerifyUserForm tmp02 = new VerifyUserForm(null, tmp03);
                                    tmp02.AcceptUser    += (a, b) =>
                                    {
                                        b.ChangeInformationAndPushToServer(b.Name, b.Age, b.Birth, b.Telephone, b.Pay, b.Unit, b.Number, 1, b.Banned, Client.Stream);
                                    };
                                    tmp02.DenyUser += (a, b) =>
                                    {
                                        b.ChangeInformationAndPushToServer(b.Name, b.Age, b.Birth, b.Telephone, b.Pay, b.Unit, b.Number, -1, b.Banned, Client.Stream);
                                    };
                                    tmp02.InformationOpened += (a, b) =>
                                    {
                                        new Thread(() => { try { new PersonalInfomation(b, User).ShowDialog(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }).Start();
                                    };
                                    tmp02.ShowDialog();
                                })
                                {
                                    IsBackground = true
                                }.Start();
                                break;

                                #endregion
                                #region getAllUserFromDatabase
                            case "getAllUserFromDatabase":
                                List <User> tmp001 = new List <User>();
                                foreach (JObject t in JArray.Parse(json["users"].ToString()))
                                {
                                    tmp001.Add(User.GetUserFromJObject(t));
                                }
                                User[] tmp003 = tmp001.ToArray();
                                new Thread(() =>
                                {
                                    ChangeAllUsersInformationForm cauif = null;
                                    (cauif = new ChangeAllUsersInformationForm(User, tmp003, (a) => { try { new PersonalInfomation(a, User).ShowDialog(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } cauif.Refresh(); })).ShowDialog();
                                })
                                {
                                    IsBackground = true
                                }.Start();
                                break;
                                #endregion
                            }
                        }
                    }
                    catch { }
                }
                if (receiveError != "")
                {
                    System.Windows.Forms.MessageBox.Show($"与服务器断开连接!\n\n详细信息:{receiveError}");
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show($"与服务器断开连接!");
                }
                Disconnected?.Invoke(null, EventArgs.Empty);
            }
        }
        /// <summary>
        /// 处理客户端
        /// </summary>
        /// <param name="obj">客户端 (TcpClient)</param>
        public static void ProcessTcpClient(object obj)
        {
            TcpClient client = obj as TcpClient;

            if (client == null)
            {
                return;
            }

            using (NetworkStream ns = client.GetStream())
            {
                User user = null;
                while (client.Connected)
                {
                    try
                    {
                        JObject json = NetworkStreamProcessing.GetJObjectFromBase64Bytes(NetworkStreamProcessing.ReadDataFromNetworkStream(ns));
                        if ((string)json["application"] != "LNC")
                        {
                            client.Close();
                        }
                        try
                        {
                            if (user == null)
                            {
                                switch ((string)json["action"])
                                {
                                    #region login
                                case "login":
                                    if (User.Name == (string)json["username"])
                                    {
                                        throw new Exception("该用户已经登陆了");
                                    }
                                    foreach (KeyValuePair <int, KeyValuePair <User, TcpClient> > tmp1 in LoginedUser)
                                    {
                                        if (tmp1.Value.Key.UserName == (string)json["username"])
                                        {
                                            throw new Exception("该用户已经登陆了");
                                        }
                                    }
                                    if (!User.CanLogin((string)json["username"], (string)json["password"]))
                                    {
                                        throw new Exception("账号或密码错误");
                                    }
                                    else
                                    {
                                        user = User.GetUserByUserNameFromDatabase((string)json["username"]);
                                        if (user.Level == 0)
                                        {
                                            throw new Exception("你还没有审核");
                                        }
                                        if (user.Level == -1)
                                        {
                                            throw new Exception("用户审核未通过");
                                        }
                                        JObject tmp = JObject.Parse("{\"action\":\"login\",\"result\":\"success\",\"user\":null}");
                                        tmp["user"] = user.ToJObject();
                                        NetworkStreamProcessing.WriteBase64BytesEncodedJObjectToNetworkStream(ns, tmp);
                                        JObject json3 = JObject.Parse("{\"action\":\"login2\",\"user\":null}");
                                        json3["user"] = user.ToJObject();
                                        foreach (KeyValuePair <int, KeyValuePair <User, TcpClient> > kvp in LoginedUser)
                                        {
                                            new Thread(() => { try { NetworkStreamProcessing.WriteBase64BytesEncodedJObjectToNetworkStream(kvp.Value.Value.GetStream(), json3); } catch { } })
                                            {
                                                IsBackground = true
                                            }
                                        }
                                        .Start();
                                        LoginedUser.Add(user.Id, new KeyValuePair <User, TcpClient>(user, client));
                                        Program.mainForm.Invoke(new Action(() => { UserLogin?.Invoke(null, user); }));
                                    }
                                    break;

                                    #endregion
                                    #region register
                                case "register":
                                    string tmp01 = (string)json["username"];
                                    string tmp02 = (string)json["password"];
                                    User.RegisterAndPushToDatabase(tmp01, tmp02);
                                    json.Add("result", "success");
                                    json.Remove("username");
                                    json.Remove("password");
                                    NetworkStreamProcessing.WriteBase64BytesEncodedJObjectToNetworkStream(ns, json);
                                    break;