Пример #1
0
 public IActionResult Delete(int id)
 {
     try
     {
         MessageUser db_message = _userContext.GetWithId(id);
         if (db_message == null)
         {
             return(StatusCode(StatusCodes.Status500InternalServerError, new Response
             {
                 Status = "Error",
                 Messages = new Message[] {
                     new Message {
                         Lang_id = 1,
                         MessageLang = "Model state isn't valid!"
                     },
                     new Message {
                         Lang_id = 2,
                         MessageLang = "Состояние модели недействительно!"
                     },
                     new Message {
                         Lang_id = 3,
                         MessageLang = "Model vəziyyəti etibarsızdır!"
                     }
                 }
             }));
         }
         db_message.IsDeleted = true;
         _userContext.Update(db_message);
         return(Ok());
     }
     catch (Exception e)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
     }
 }
Пример #2
0
        public void logClient()
        {
            Console.WriteLine("\t\tLogin : "******"\t\tPassword : "******"\t/!\\ ** ERROR of client password / Login ** /!\\");
                logClient();
            }
            else
            {
                //Assign the user the session
                MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream());
                user = mu.getUser();

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("You are connected as " + user.Login);
            }
        }
Пример #3
0
        public IActionResult Post([FromForm] MessageUser userMesssage)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, new Response
                    {
                        Status = "Error",
                        Messages = new Message[] {
                            new Message {
                                Lang_id = 1,
                                MessageLang = "Model state isn't valid!"
                            },
                            new Message {
                                Lang_id = 2,
                                MessageLang = "Состояние модели недействительно!"
                            },
                            new Message {
                                Lang_id = 3,
                                MessageLang = "Model vəziyyəti etibarsızdır!"
                            }
                        }
                    }));
                }

                _userContext.Add(userMesssage);
                return(Ok());
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Пример #4
0
 /// <summary>
 /// 添加到分组
 /// </summary>
 /// <param name="name"></param>
 /// <param name="groupName"></param>
 public void AddToGroup(string name, string groupName)
 {
     if (string.IsNullOrEmpty(groupName))
     {
         ShowMessage(name, "分组不能为空。");
     }
     else if (!Cache.GroupList.Contains(groupName))
     {
         ShowMessage(name, string.Format("用户组{0},不存在。", groupName));
     }
     else if (Cache.MsgUserDict.ContainsKey(Context.ConnectionId))
     {
         MessageUser user = Cache.MsgUserDict[Context.ConnectionId];
         if (!string.IsNullOrEmpty(user.GroupName))
         {
             ShowMessage(name, string.Format("已经存在用户组{0},不能重复添加。", user.GroupName));
         }
         else
         {
             user.GroupName = groupName;
             Groups.Add(Context.ConnectionId, groupName);//加入聊天分组
             ShowMessage(name, string.Format("用户组{0},加入成功。", user.GroupName));
             //Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})加入分组{2}", Context.ConnectionId, name, groupName));
         }
     }
 }
Пример #5
0
 /// <summary>
 /// 退出分组
 /// </summary>
 /// <param name="name">用户名</param>
 /// <param name="groupName">分组信息</param>
 public void ExitGroup(string name, string groupName)
 {
     if (!string.IsNullOrEmpty(groupName) && Cache.GroupList.Contains(groupName))
     {
         if (Cache.MsgUserDict.ContainsKey(Context.ConnectionId))
         {
             MessageUser user = Cache.MsgUserDict[Context.ConnectionId];
             if (string.IsNullOrEmpty(user.GroupName))
             {
                 ShowMessage(name, string.Format("当前用户还未加入任何分组。", groupName));
             }
             else if (user.GroupName == groupName)               //是该组 退出组
             {
                 Groups.Remove(Context.ConnectionId, groupName); //退出聊天分组
                 user.GroupName = string.Empty;
                 // Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})退出分组{2}", Context.ConnectionId, name, groupName));
                 ShowMessage(name, string.Format("分组{0}退出成功。", groupName));
             }
             else
             {
                 ShowMessage(name, string.Format("所在分组与{0}不一致,退出失败。", groupName));
             }
         }
     }
     else
     {
         ShowMessage(name, "分组为空或者不存在。");
     }
 }
Пример #6
0
        private void ok_Click(object sender, EventArgs e)
        {
            Net.sendMessage(comm.GetStream(), new MessageUser(loginText.Text, passwordText.Text, true));

            MessageUser resUser = (MessageUser)Net.receiveMessage(comm.GetStream());

            //Check the boolean received. If false, means you are connected
            if (resUser.Err == true)
            {
                MessageBox.Show("** ERROR of client password / Login ** ");
            }
            else
            {
                //Assign the user the session
                MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream());
                user = mu.getUser();

                MainPage mainPage = new MainPage(comm, user);
                mainPage.Show();
                this.Hide();

                MessageBox.Show("You are connected as " + user.Login);
            }
            loginText.Text    = "";
            passwordText.Text = "";
        }
Пример #7
0
        public void joinTopic()
        {
            //Receive the topic chosen and the user
            MessageMenu choice = (MessageMenu)Net.receiveMessage(comm.GetStream());
            MessageUser mu     = (MessageUser)Net.receiveMessage(comm.GetStream());

            //Get the topic
            Topic topic = topics[choice.MessageSend - 1];


            //Add the client to the topic
            bool searchClient = false;

            foreach (User u in topic.Chatters)
            {
                if (u.Id_user.Equals(mu.Id_user))
                {
                    searchClient = true;
                }
            }

            if (searchClient == false)
            {
                topic.Chatters.Add(mu.getUser());
            }

            Net.sendMessage(comm.GetStream(), new MessageTopic(topic));

            //Create the thread to display messages
            Thread displayTopicThread = new Thread(new ParameterizedThreadStart(displayTopic));

            displayTopicThread.Start(topic);
        }
Пример #8
0
        public void createUser()
        {
            //Receive the datas from the client side
            MessageUser user = (MessageUser)Net.receiveMessage(comm.GetStream());


            //Add the client to the tab
            users.Add(new User(users.Count + 1, user.Login, user.Password));


            //Update the file of users
            UserSerialize us = new UserSerialize(users);

            us.SerializeNow();

            //Print the users created
            Console.WriteLine("Table users updated : ");

            foreach (User u in users)
            {
                Console.WriteLine(u.Login + " " + u.Password);
            }
            Console.WriteLine("\n");

            //Relaunche the menu when finish creation
            launchApp();
        }
Пример #9
0
        public void updateMessageUser(MessageUser user, bool addUserIfNotExist = true)
        {
            if (this.membersDict.TryGetValue(user.id, out var member))
            {
                member.user.id          = user.id;
                member.user.username    = user.username;
                member.user.fullName    = user.fullname;
                member.user.avatar      = user.avatar;
                member.user.title       = user.title;
                member.user.coverImage  = user.coverImage;
                member.user.followCount = user.followCount;
                member.presenceStatus   = user.presenceStatus;
                return;
            }

            if (addUserIfNotExist)
            {
                this.membersDict[user.id] = new ChannelMember {
                    user = new User {
                        id          = user.id,
                        username    = user.username,
                        fullName    = user.fullname,
                        avatar      = user.avatar,
                        title       = user.title,
                        coverImage  = user.coverImage,
                        followCount = user.followCount
                    },
                    id             = user.id,
                    presenceStatus = user.presenceStatus
                };
            }
        }
Пример #10
0
        public void AddListener(MessageListener listener, string identity)
        {
            lock (_syncLock)
            {
                //立即验证凭据
                if (string.IsNullOrEmpty(identity))
                {
                    identity = listener.GetIdentity();
                }

                MessageUser user = MessageUser.GetUserFromMessageString(identity);
                if (user == null)
                {
                    listener.Response(0, "订阅失败:不合法的客户端凭据!");
                    //OnNotifyError(listener, new Exception("不合法的客户端凭据!"));
                    //RemoveListener(listener);
                    OnEventMessage(listener, "注册监听器失败:不合法的客户端凭据!");
                    listener.Close(0);
                    return;
                }
                ValidateUser(user);
                if (!user.Validated)
                {
                    listener.Response(0, "订阅失败:服务器用户验证未通过!");
                    //OnNotifyError(listener, new Exception("用户验证未通过!"));
                    //RemoveListener(listener);
                    OnEventMessage(listener, "注册监听器失败:用户验证未通过!");
                    listener.Close(0);
                    return;
                }
                //取出注册数据
                string splitChar = "&";
                string key       = listener.FromIP + splitChar + listener.FromPort + splitChar + user.HID;
                if (!_userIdentity.ContainsKey(key))
                {
                    //客户端标识策略代码已经修改,下面一行代码注释
                    //throw new InvalidOperationException("重复注册相同的客户端标识:" + key);
                    _userIdentity.Add(key, user);
                }

                listener.Identity  = user.HID;
                listener.SessionID = key + splitChar + DateTime.Now.ToString("HHmmssfff");
                listener.User      = user;

                if (_listeners.Contains(listener))
                {
                    //throw new InvalidOperationException("重复注册相同的监听器!");
                }
                else
                {
                    _listeners.Add(listener);
                }
            }

            if (this.ListenerAdded != null)
            {
                this.ListenerAdded(this, new MessageListenerEventArgs(listener));
            }
        }
Пример #11
0
        public async Task MensajePrivado(MessageUser messageUser)
        {
            var id = messageUser.Id;

            messageUser.Id = Context.ConnectionId;

            await Clients.Client(id).SendAsync("MensajePrivado", messageUser);
        }
Пример #12
0
        public async static Task <bool> sendMessageComplex(MessageUser messageUser)
        {
            var allUsers = await conectDB.getAllUsers();

            var correctUser = allUsers.FirstOrDefault(p => p.Marker.NameAndPhone.Equals(messageUser.UserName));

            return(await conectDB.setNewErrorToUser(correctUser, messageUser.Message, messageUser.Group));
        }
        public async Task <Task> Message(MessageUser message)
        {
            if (message == null || message.Title == "" || message.Body == "" || message.Id == "")
            {
                return(Clients.Caller.SendAsync("Message", "Mensaje Invalido"));
            }

            return(Clients.Group(message.Id).SendAsync("Message", message));
        }
Пример #14
0
        public void SendContactInvite(string email)
        {
            User    Contact = GetUserByEmail(email);
            Message msg     = new Message(User, Contact, true);

            MessageUser mu = new MessageUser(msg.MessageId, Contact.UserId, msg, null);//Insert id error as it also tries overwritting the user receiver, versioning error

            AddMessageUser(mu);
        }
Пример #15
0
        private async void enviarMensaje(MessageUser msg)
        {
            message mensaje = new message()
            {
                body  = msg.Body,
                title = msg.Title
            };

            await _sk.Clients.Groups(msg.Id).SendAsync("Message", mensaje);
        }
Пример #16
0
        public void SendJoinWishlistRequest(int wishlistId)
        {
            User    wishlistOwner = GetOwnerByWishlistId(wishlistId);
            Message msg           = new Message(User, wishlistOwner, false, GetWishlistById(wishlistId));

            msg.RelatedWishlist = null;
            MessageUser mu = new MessageUser(msg.MessageId, wishlistOwner.UserId, msg, null);//Insert id error as it also tries overwritting the user receiver, versioning error

            AddMessageUser(mu);
        }
Пример #17
0
        public void SendJoinWishlistInvite(string email, int wishlistId)
        {
            User    Contact = GetUserByEmail(email);
            Message msg     = new Message(User, Contact, true, GetWishlistById(wishlistId));

            msg.RelatedWishlist = null;                                                 //Prevent id overwrite error

            MessageUser mu = new MessageUser(msg.MessageId, Contact.UserId, msg, null); //Insert id error as it also tries overwritting the user receiver, versioning error

            AddMessageUser(mu);
        }
Пример #18
0
 /// <summary>
 /// 验证消息的用户是否合法
 /// </summary>
 /// <param name="user"></param>
 private void ValidateUser(MessageUser user)
 {
     if (user.Name == "PDF.NET" && user.Password == "20111230")
     {
         user.Validated = true;
     }
     else
     {
         user.Validated = false;
     }
 }
Пример #19
0
        public IActionResult SendEmail(int id, [FromForm] MessageAdmin sendMessage)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, new Response
                    {
                        Status = "Error",
                        Messages = new Message[] {
                            new Message {
                                Lang_id = 1,
                                MessageLang = "Model state isn't valid!"
                            },
                            new Message {
                                Lang_id = 2,
                                MessageLang = "Состояние модели недействительно!"
                            },
                            new Message {
                                Lang_id = 3,
                                MessageLang = "Model vəziyyəti etibarsızdır!"
                            }
                        }
                    }));
                }
                MessageUser user  = _userContext.GetWithId(id);
                var         email = user.Email;
                sendMessage.Email = email;

                MailMessage message = new MailMessage();
                message.From = new MailAddress("*****@*****.**", "Camex Support");
                message.To.Add(new MailAddress(sendMessage.Email));

                message.Subject    = sendMessage.Subject;
                message.IsBodyHtml = true;
                message.Body       = sendMessage.Message;

                SmtpClient smtp = new SmtpClient();
                smtp.Host      = "smtp.gmail.com";
                smtp.Port      = 587;
                smtp.EnableSsl = true;

                smtp.Credentials = new NetworkCredential("*****@*****.**", "seynur2462736");
                smtp.Send(message);
                user.IsAnswered = true;
                _userContext.Update(user);
                return(Ok());
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Пример #20
0
        public JsonResult Post([FromBody] MessageUser msg)
        {
            try
            {
                enviarMensaje(msg);
            }
            catch (Exception)
            {
                return(new JsonResult(0));
            }

            return(new JsonResult(1));
        }
Пример #21
0
        public void joinTopic()
        {
            MessageMenu mn = new MessageMenu(0);
            MessageUser mu = new MessageUser(user.Id_user, user.Login, user.Password, false);

            Console.WriteLine("\t\tChoose to join / update a topic : ");

            //Send the choice and the user
            mn.MessageSend = Int32.Parse(Console.ReadLine());
            Net.sendMessage(comm.GetStream(), mn);
            Net.sendMessage(comm.GetStream(), mu);

            displayTopic();
        }
Пример #22
0
 public void AddMessageUser(MessageUser mu)
 {
     try
     {
         using (WishlistDbContext context = new WishlistDbContext())
         {
             context.Notifications.Add(mu);
             context.SaveChanges();
         }
     }
     catch (Exception eContext)
     {
         Debug.WriteLine("Exception: " + eContext.Message);
     }
 }
Пример #23
0
 public async Task <IHttpActionResult> sendMessageComplex([FromBody] MessageUser message)
 {
     try
     {
         if (await BL.Managment.sendMessageComplex(message) == true)
         {
             return(Ok(true));
         }
         return(Content(HttpStatusCode.BadRequest, false));
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.NotFound, ex.Message));
     }
 }
Пример #24
0
        public IActionResult LogOut()
        {
            //记录日志-退出系统
            MessageUser mu = ManageProvider.Current;

            if (mu != null && mu.ID != Guid.Empty)
            {
                string message = string.Format("{0}({1})退出系统", mu.Cn, mu.UID);
                //logcache.AddSystemLog(Guid.Empty, message, true, "", "");
            }
            //GlobalStatus.connection.Dispose();

            //退出系统方法
            HttpContext.SignOutAsync(CookieAuthenInfo.WebCookieInstance);
            //Hasng.CadreFile.Utilities.HttpContext.Current.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
            //HttpContext.Authentication.SignOutAsync("MyCookieMiddlewareInstance");
            return(Redirect("/Account/Login"));
        }
Пример #25
0
        public void joinUser()
        {
            MessageMenu mn = new MessageMenu(0);
            MessageUser mu = new MessageUser(user.Id_user, user.Login, user.Password, false);

            Console.WriteLine("\t\tChoose to join a user : ");

            //Send the choice and the user
            mn.MessageSend = Int32.Parse(Console.ReadLine());

            //Send the user that we want to send to
            Net.sendMessage(comm.GetStream(), mn);

            //Send our user
            Net.sendMessage(comm.GetStream(), mu);

            displayPrivateChat();
        }
Пример #26
0
        public void connectedActions()
        {
            //Get the choice on the menu from the user
            MessageMenu choice = (MessageMenu)Net.receiveMessage(comm.GetStream());

            if (choice.MessageSend == 1)
            {
                //Launch the thread to create a new topic
                MessageMenu mn = new MessageMenu(1);
                Net.sendMessage(comm.GetStream(), mn);
                Thread newTopicThread = new Thread(new ThreadStart(createTopic));
                newTopicThread.Start();
            }
            else if (choice.MessageSend == 2)
            {
                //Launch the connection thread
                MessageMenu mn = new MessageMenu(2);
                Net.sendMessage(comm.GetStream(), mn);
                Thread displayTopicThread = new Thread(new ThreadStart(displayTopics));
                displayTopicThread.Start();
            }
            else if (choice.MessageSend == 3)
            {
                MessageMenu mn = new MessageMenu(3);
                Net.sendMessage(comm.GetStream(), mn);
                Thread displayUserThread = new Thread(new ThreadStart(displayUsers));
                displayUserThread.Start();
            }
            else if (choice.MessageSend == 4)
            {
                MessageMenu mn = new MessageMenu(4);
                Net.sendMessage(comm.GetStream(), mn);

                //Delete the log out user from the connected users
                MessageUser mu = (MessageUser)Net.receiveMessage(comm.GetStream());

                Console.WriteLine(connectedUsers.Remove(mu.getUser()));

                launchApp();
            }
        }
Пример #27
0
        public IDictionary <MessageUser, IList <Message> > GetMessages([FromBody] SystemUser user)
        {
            var list =
                _service.GetList(m => m.FromUser == user.UserName || m.ToUser == user.UserName)
                .OrderByDescending(m => m.AddTime);

            var messages = from m in list
                           group m by new { m.FromUser, m.ToUser };

            var dic = new Dictionary <MessageUser, IList <Message> >();

            foreach (var item in messages)
            {
                var mUser = new MessageUser()
                {
                    ToUser   = item.Key.ToUser,
                    FromUser = item.Key.FromUser
                };
                dic.Add(mUser, item.ToList());
            }

            return(dic);
        }
Пример #28
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="name">用户</param>
        /// <param name="groupName">加入分组</param>
        public void Logined(string name, string groupName)
        {
            MessageUser user = new MessageUser()
            {
                UserName = name, GroupName = groupName, ConnectionId = Context.ConnectionId
            };

            user.action += () =>
            {
                //用户20s无心跳包应答,则视为掉线,会抛出事件,这里会接住,然后处理用户掉线动作。
                MessageUser outValue = null;
                if (Cache.MsgUserDict.ContainsKey(user.ConnectionId))
                {
                    user.Dispose();
                    Cache.MsgUserDict.TryRemove(user.ConnectionId, out outValue);
                    //Program.MainForm.ShowLog(string.Format("用户:{0},下线", user.ConnectionId), 2);
                    //Program.MainForm.RefUserList();
                    UnLine(Context.ConnectionId, outValue.UserName);
                }
            };

            Cache.MsgUserDict.TryAdd(Context.ConnectionId, user);

            if (!string.IsNullOrEmpty(groupName))
            {
                if (!Cache.GroupList.Contains(groupName))//记录分组信息
                {
                    Cache.GroupList.Add(groupName);
                    //Program.MainForm.ShowLog(string.Format("连接ID:{0}({1})创建分组{2}", Context.ConnectionId, name, groupName), 2);
                    ShowMessage(name, string.Format("分组{0}创建成功。", groupName));
                }

                Groups.Add(Context.ConnectionId, groupName);//加入聊天分组
            }
            // Program.MainForm.RefUserList();
            OnLine(Context.ConnectionId, name);
        }
Пример #29
0
 public bool Validate(MessageUser user)
 {
     return(user.Name == this.UserName && user.Password == this.Password);
 }
Пример #30
0
        public String LoginValidate(string uid, string password, string areaCode)
        {
            if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(areaCode))
            {
                return(GlobalStatus.GetStatus("HX06"));
            }


            //List<ParameterJson> list = new List<ParameterJson>();
            //if (uid == "InforCenterAdmin")
            //{
            //    list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //    list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid));
            //    list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password)));
            //    areaCode = "0CFD858E";
            //    list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode));
            //}
            //else
            //{
            //    list.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //    list.Add(new ParameterJson("UID", ConditionOperate.Equal.ToString(), uid));
            //    list.Add(new ParameterJson("PassWord", ConditionOperate.Equal.ToString(), MD5Helper.MD5Encrypt64(password)));
            //    list.Add(new ParameterJson("U_AreaCode", ConditionOperate.Equal.ToString(), areaCode));
            //}
            //string sCondition = JsonConvert.SerializeObject(list);
            //#endregion

            string     pwd   = MD5Helper.MD5Encrypt32(password);
            Power_User model = _userRepository.List(x => x.U_IsValid == true && x.UID == uid && x.PassWord == pwd && x.U_AreaCode == areaCode).FirstOrDefault();


            //用户、密码、区域验证不通过,不跳转页面
            if (model == null)
            {
                return(GlobalStatus.GetStatus("HX02"));
            }

            //验证 账号同时只能一个在线
            //bool IsOpenOnlyUser = _op.IsOpenOnlyUser;
            //if (IsOpenOnlyUser)
            //{
            //    bool flag = CacheHelper.HashExists((int)RedisDB.Power, "RegisterUCRelation", model.ID.ToString());
            //    if (flag)
            //    {
            //        return GlobalStatus.GetStatus("HX03");
            //    }
            //}


            //List<ParameterJson> listparam = new List<ParameterJson>();
            //listparam.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //listparam.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString()));
            //string sCondition1 = JsonConvert.SerializeObject(listparam);
            //#endregion
            //string strRoleMenu = _userRolebll.GetListJson(sCondition1);
            //string roleIds = string.Empty;
            //if (!string.IsNullOrEmpty(strRoleMenu))
            //{
            //    List<Power_RoleMenuView> aaa = JsonConvert.DeserializeObject<List<Power_RoleMenuView>>(strRoleMenu);
            //    var ccc = aaa.Select(x => x.RoleID.ToString()).Distinct().ToList();
            //    roleIds = string.Join(",", ccc.ToArray());
            //}


            //Guid? orgId = Guid.Empty;
            //#region 条件组合
            //List<ParameterJson> listparam1 = new List<ParameterJson>();
            //listparam1.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //listparam1.Add(new ParameterJson("UserId", ConditionOperate.Equal.ToString(), model.ID.ToString()));
            //string sCondition2 = JsonConvert.SerializeObject(listparam1);
            //#endregion
            //string strjson = _userorgbll.GetListJson(sCondition2);
            //if (strjson != null && strjson != "[]")
            //{
            //    List<Power_UserOrgView> userorglist = JsonConvert.DeserializeObject<List<Power_UserOrgView>>(strjson);
            //    if (userorglist.Count > 0)
            //    {
            //        Power_UserOrgView entity = userorglist.FirstOrDefault();
            //        orgId = entity.OrgID;
            //    }
            //}
            //else
            //{
            //    return GlobalStatus.GetStatus("HX04");
            //}


            MessageUser mu = new MessageUser();

            mu.ID         = model.ID;
            mu.Cn         = model.Cn;
            mu.IPAddress  = CommonHelper.GetIP(); //???
            mu.Isinitial  = true;
            mu.IsSystem   = true;
            mu.LogTime    = DateTime.Now;
            mu.UID        = model.UID;
            mu.U_AreaCode = model.U_AreaCode;
            //mu.RoleIds = roleIds;
            //mu.OrgId = orgId;


            //HttpContext.Current.Session.Set("CurrentUserId", ByteConvertHelper.Object2Bytes(mu.ID));
            //HttpContext.Current.Session.Set("CurrentAreaCode", ByteConvertHelper.Object2Bytes(mu.U_AreaCode));

            ManageProvider.UserId  = mu.ID.ToString();
            ManageProvider.Current = mu;


            //读取用户权限
            //List<MenuPower> list11 = menuCache.GetAllMenuByRoleIds(roleIds, areaCode);
            //if (list11 == null || list11.Count == 0)
            //{
            //    return GlobalStatus.GetStatus("HX05");
            //}
            //ManageProvider.CurrentMenuList = new LoginUserMenuPower() { UserId = mu.ID.ToString(), menuList = list11 };

            //使用Form验证方式
            List <Claim> claims = new List <Claim>();

            claims.Add(new Claim(ClaimTypes.Name, model.Cn, ClaimValueTypes.String, model.ID.ToString()));
            var userIdentity = new ClaimsIdentity("管理员"); //角色

            userIdentity.AddClaims(claims);
            var userPrincipal = new ClaimsPrincipal(userIdentity);


            HttpContext.SignInAsync(CookieAuthenInfo.WebCookieInstance, userPrincipal,
                                    new Microsoft.AspNetCore.Authentication.AuthenticationProperties
            {
                ExpiresUtc   = DateTime.UtcNow.AddHours(12),
                IsPersistent = true,
                AllowRefresh = false
            });

            //SignalR中缓存登录状态
            //GlobalStatus.connection.Start().ContinueWith(task =>
            //{
            //    if (!task.IsFaulted)
            //    {
            //        GlobalStatus.myHub.Invoke("Register", mu.ID, mu.U_AreaCode);//必須與 MyHub 的 Register 方法名稱一樣
            //    }
            //    else
            //    {
            //        throw new Exception("连线失败!");
            //    }
            //}).Wait();


            //记录日志
            //string message = string.Format("{0}({1})登陆系统!", mu.Cn, mu.UID);
            //List<ParameterJson> areaList = new List<ParameterJson>();
            //areaList.Add(new ParameterJson("U_IsValid", ConditionOperate.Equal.ToString(), "1"));
            //areaList.Add(new ParameterJson("Code", ConditionOperate.Equal.ToString(), areaCode));
            //string areaCondition = JsonConvert.SerializeObject(areaList);
            //strJson = _areaBll.GetListJson(areaCondition);
            //Power_AreaView areaModel = !string.IsNullOrEmpty(strJson) ? JsonConvert.DeserializeObject<List<Power_AreaView>>(strJson).FirstOrDefault() : null;
            //if (areaModel != null)
            //{
            //    CookieOptions options = new CookieOptions();
            //    options.Expires = DateTime.Now.AddYears(6);
            //    HttpContext.Response.Cookies.Append("loginAreaCode", areaCode, options);
            //    HttpContext.Response.Cookies.Append("loginAreaName", areaModel.Title, options);
            //}
            //logcache.AddSystemLog(Guid.Empty, message, true, "", "");
            return(GlobalStatus.GetStatus("HX00"));
        }