Exemplo n.º 1
0
        public void Connect(string url, string userID, string storeIdStr, string segmentStr, string insStr)
        {
            var id = Context.ConnectionId;

            XCGameManaAdminUserTokenModel tokenModel = XCGameManaAdminUserTokenBusiness.GetTokenModel(userID);

            if (tokenModel == null)
            {
                var model = new { callType = "checkUserRole", result_code = 0, result_msg = "用户没有授权" };
                Clients.Client(id).HubCall(model);
                return;
            }

            bool        isNewUser   = false;
            CurrentUser currentUser = null;

            UpdateUser(id, userID, out isNewUser, ref currentUser);
            if (isNewUser)
            {
                UpdateSettings(currentUser, storeIdStr, segmentStr, insStr);
                Clients.Caller.onConnected(id, userID, url);
            }
            else
            {
                UpdateSettings(currentUser, storeIdStr, segmentStr, insStr);
                Clients.Client(id).onExistUserConnected(id, userID);
            }
        }
Exemplo n.º 2
0
        public object login(Dictionary <string, object> dicParas)
        {
            string userMobile = dicParas.ContainsKey("userMobile") ? dicParas["userMobile"].ToString() : string.Empty;
            string password   = dicParas.ContainsKey("password") ? dicParas["password"].ToString() : string.Empty;
            string imgCode    = dicParas.ContainsKey("imgCode") ? dicParas["imgCode"].ToString() : string.Empty;

            //验证码
            if (!ValidateImgCache.Exist(imgCode.ToUpper()))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "验证码无效"));
            }
            ValidateImgCache.Remove(imgCode.ToUpper());

            IAdminUserService adminUserService = BLLContainer.Resolve <IAdminUserService>();
            var model = adminUserService.GetModels(p => p.Mobile.Equals(userMobile)).FirstOrDefault <t_AdminUser>();

            if (model == null)
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "用户不存在"));
            }
            else
            {
                if (model.Password.Equals(password))
                {
                    string token = XCGameManaAdminUserTokenBusiness.SetToken(model.Mobile, model.Id);
                    var    obj   = new { token = token };
                    return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "密码不正确"));
                }
            }
        }
Exemplo n.º 3
0
        public void GetRadarList(string userId)
        {
            string connectionId = Context.ConnectionId;

            XCGameManaAdminUserTokenModel tokenModel = XCGameManaAdminUserTokenBusiness.GetTokenModel(userId);

            if (tokenModel == null)
            {
                var model = new { callType = "getRadarList", result_code = 0, result_msg = "用户没有授权" };
                Clients.Client(connectionId).HubCall(model);
                return;
            }

            bool        isNewUser   = false;
            CurrentUser currentUser = null;

            UpdateUser(connectionId, userId, out isNewUser, ref currentUser);

            string errMsg    = string.Empty;
            string storeName = string.Empty;

            List <XCGameManaRadarMonitor> monitorList = null;

            GetRadarList(currentUser, ref monitorList, 1);

            var obj = new { callType = "getRadarList", result_code = 1, result_msg = "", result_data = monitorList };

            Clients.Client(currentUser.ConnectionId).HubCall(obj);
        }
Exemplo n.º 4
0
        //验证签名
        private bool CheckSignKey(SignKeyEnum signKeyEnum, Dictionary <string, object> dicParas, out string signkeyToken, out string errMsg)
        {
            errMsg       = string.Empty;
            signkeyToken = string.Empty;
            if (signKeyEnum == SignKeyEnum.MobileToken)
            {
                string mobile      = string.Empty;
                string mobileToken = Utils.GetDictionaryValue <string>(dicParas, "mobileToken").ToString();
                string storeId     = Utils.GetDictionaryValue <string>(dicParas, "storeId").ToString();
                //如果是手机token
                if (MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                {
                    MobileTokenModel mobileTokenTokenModel = new MobileTokenModel(mobile);
                    dicParas.Add(Constant.MobileTokenModel, mobileTokenTokenModel);
                    return(true);
                }
                else
                {
                    errMsg = "手机令牌无效";
                    return(false);
                }
            }
            else if (signKeyEnum == SignKeyEnum.XCGameMemberToken)
            {
                string token = dicParas["memberToken"].ToString();
                //验证token
                XCGameMemberTokenModel memberTokenKeyModel = MemberTokenBusiness.GetMemberTokenModel(token);
                if (memberTokenKeyModel == null)
                {
                    errMsg = "token无效";
                    return(false);
                }
                else
                {
                    dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenKeyModel);
                    return(true);
                }
            }
            else if (signKeyEnum == SignKeyEnum.XCGameMemberOrMobileToken)
            {
                string mobile      = string.Empty;
                string mobileToken = Utils.GetDictionaryValue <string>(dicParas, "mobileToken").ToString();
                string memberToken = Utils.GetDictionaryValue <string>(dicParas, "memberToken").ToString();
                if (string.IsNullOrEmpty(mobileToken) && string.IsNullOrEmpty(memberToken))
                {
                    errMsg = "手机令牌或会员令牌不正确";
                    return(false);
                }
                else if (!string.IsNullOrEmpty(mobileToken) && string.IsNullOrEmpty(memberToken))
                {
                    //如果是手机token
                    if (MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                    {
                        MobileTokenModel mobileTokenTokenModel = new MobileTokenModel(mobile);
                        dicParas.Add(Constant.MobileTokenModel, mobileTokenTokenModel);
                        return(true);
                    }
                    else
                    {
                        errMsg = "手机令牌无效";
                        return(false);
                    }
                }
                else if (!string.IsNullOrEmpty(memberToken) && string.IsNullOrEmpty(mobileToken))
                {
                    XCGameMemberTokenModel memberTokenModel = MemberTokenBusiness.GetMemberTokenModel(memberToken);
                    if (memberTokenModel != null)
                    {
                        dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenModel);
                        return(true);
                    }
                    else
                    {
                        errMsg = "会员令牌无效";
                        return(false);
                    }
                }
                else if (!string.IsNullOrEmpty(memberToken) && !string.IsNullOrEmpty(mobileToken))
                {
                    //手机token验证

                    if (!MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                    {
                        errMsg = "手机令牌无效";
                        return(false);
                    }
                    MobileTokenModel mobileTokenModel = new MobileTokenModel(mobile);
                    dicParas.Add(Constant.MobileTokenModel, mobileTokenModel);

                    //会员token
                    XCGameMemberTokenModel memberTokenModel = MemberTokenBusiness.GetMemberTokenModel(memberToken);
                    if (memberTokenModel == null)
                    {
                        errMsg = "会员令牌无效";
                        return(false);
                    }
                    dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenModel);

                    //会员token和手机token手机号对比
                    if (!memberTokenModel.Mobile.Equals(mobileTokenModel.Mobile))
                    {
                        errMsg = "手机令牌和会员令牌手机号不一致";
                        return(false);
                    }
                    return(true);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameUserCacheToken)
            {
                string mobile   = dicParas.ContainsKey("mobile") ? dicParas["mobile"].ToString() : string.Empty;
                string UserName = dicParas.ContainsKey("UserName") ? dicParas["UserName"].ToString() : string.Empty;
                string PassWord = dicParas.ContainsKey("PassWord") ? dicParas["PassWord"].ToString() : string.Empty;
                string storeId  = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty;
                if (string.IsNullOrEmpty(storeId))
                {
                    errMsg = "门店Id不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(UserName))
                {
                    errMsg = "用户名不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(PassWord))
                {
                    errMsg = "密码不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(mobile))
                {
                    errMsg = "手机号码不能为空";
                    return(false);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCCloudUserCacheToken)
            {
                string token = dicParas["userToken"].ToString();

                //验证token
                XCCloudUserTokenModel userTokenKeyModel = XCCloudUserTokenBusiness.GetUserTokenModel(token);
                if (userTokenKeyModel == null)
                {
                    errMsg = "token无效";
                    return(false);
                }
                else
                {
                    dicParas.Add(Constant.XCCloudUserTokenModel, userTokenKeyModel);
                    return(true);
                }
            }
            else if (signKeyEnum == SignKeyEnum.MethodToken)
            {
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameAdminToken)
            {
                string userToken     = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                string configUnionId = System.Configuration.ConfigurationManager.AppSettings["BossUnionId"].ToString();
                string unionId       = string.Empty;
                if (!UnionIdTokenBusiness.ExistToken(userToken, out unionId))
                {
                    errMsg = "用户令牌无效";
                    return(false);
                }
                if (!configUnionId.Contains(unionId))
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameManaUserToken)
            {
                string userToken = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                XCCloudManaUserTokenModel userTokenModel = XCCloudManaUserTokenBusiness.GetManaUserTokenModel(userToken);
                if (userTokenModel == null)
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                dicParas.Add(Constant.XCGameManaUserToken, userTokenModel);
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameManamAdminUserToken)
            {
                string userToken = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                XCGameManaAdminUserTokenModel tokenModel = XCGameManaAdminUserTokenBusiness.GetTokenModel(userToken);
                if (tokenModel == null)
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                dicParas.Add(Constant.XCGameManamAdminUserToken, tokenModel);
                return(true);
            }
            else
            {
                string token   = dicParas["token"].ToString();
                string signKey = dicParas["signkey"].ToString();
                errMsg       = string.Empty;
                signkeyToken = "default";
                return(true);
            }
        }