Пример #1
0
        /// <summary>
        /// 通道商验证登录
        /// </summary>
        /// <param name="retailId"></param>
        /// <param name="retailUser"></param>
        /// <returns></returns>
        public static string[] LoginByRetail(string retailId, string retailUser)
        {
            string[]      result        = new string[2];
            SnsCenterUser snsCenterUser = new SnsCenterUser();
            var           snsuser       = snsCenterUser.GetUserInfo(retailId, retailUser);

            if (snsuser.UserId <= 0)
            {
                //自动获取通行证
                SnsPassport passport = new SnsPassport();
                string      pid      = passport.GetRegPassport();
                string      pwd      = passport.GetRandomPwd();
                //modify login of retail bug.
                snsCenterUser = new SnsCenterUser(pid, pwd, string.Empty)
                {
                    RetailID = retailId, RetailUser = retailUser
                };
                result[0] = snsCenterUser.InsertSnsUser().ToString();
                result[1] = pid;
                return(result);
            }
            result[0] = snsuser.UserId.ToString();
            result[1] = snsuser.PassportId;
            return(result);
        }
Пример #2
0
        /// <summary>
        /// Determines whether this instance is exist retail.
        /// </summary>
        /// <returns><c>true</c> if this instance is exist retail; otherwise, <c>false</c>.</returns>
        public bool IsExistRetail()
        {
            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);

            command.Columns          = "userid";
            command.OrderBy          = "USERID ASC";
            command.Filter           = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = string.Format("{0} AND {1}",
                                                     command.Filter.FormatExpression("RetailID"),
                                                     command.Filter.FormatExpression("RetailUser")
                                                     );
            command.Filter.AddParam("RetailID", RetailID);
            command.Filter.AddParam("RetailUser", RetailUser);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    return(true);
                }
            }

            //自动获取通行证
            SnsPassport passport = new SnsPassport();

            this._PassportId  = passport.GetRegPassport();
            this._PassportPwd = passport.GetRandomPwd();
            return(false);
        }
Пример #3
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="imei">if null then get new pid</param>
        /// <returns></returns>
        public static string[] GetRegPassport(string imei)
        {
            if (!SnsCenterUser.CheckDevice(imei))
            {
                throw (new Exception("禁止登入"));
            }
            var           list       = new List <string>();
            SnsCenterUser user       = SnsCenterUser.GetUserByDeviceId(imei);
            string        passportId = string.Empty;

            if (user != null)
            {
                passportId = user.PassportId;
                list.Add(passportId);
                list.Add(user.Password);
            }
            else
            {
                SnsPassport     passport = new SnsPassport();
                PassportExpired passportExpired;
                if (!imeiMap.TryGetValue(imei, out passportExpired))
                {
                    passportId    = passport.GetRegPassport();
                    imeiMap[imei] = new PassportExpired(passportId);
                }
                else
                {
                    passportId = passportExpired.Pid;
                    if (passportExpired.ExpiredTime < DateTime.Now)
                    {
                        //过期移除
                        imeiMap.TryRemove(imei, out passportExpired);
                    }
                    //检查超出
                    List <string> expiredMap;
                    if (imeiMap.Count > 100 && ((expiredMap = imeiMap.Where(t => t.Value.ExpiredTime < DateTime.Now).Select(t => t.Key).ToList()).Count > 10))
                    {
                        foreach (var expired in expiredMap)
                        {
                            imeiMap.TryRemove(expired, out passportExpired);
                        }
                    }
                }

                string password = passport.GetRandomPwd();
                list.Add(passportId);
                list.Add(password);
            }

            return(list.ToArray());
        }
Пример #4
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="imei">if null then get new pid</param>
        /// <returns></returns>
        public static string[] GetRegPassport(string imei)
        {
            if (!SnsCenterUser.CheckDevice(imei))
                throw (new Exception("禁止登入"));
            var list = new List<string>();
            SnsCenterUser user = SnsCenterUser.GetUserByDeviceId(imei);
            string passportId = string.Empty;

            if (user != null)
            {
                passportId = user.PassportId;
                list.Add(passportId);
                list.Add(user.Password);
            }
            else
            {
                SnsPassport passport = new SnsPassport();
                PassportExpired passportExpired;
                if (!imeiMap.TryGetValue(imei, out passportExpired))
                {
                    passportId = passport.GetRegPassport();
                    imeiMap[imei] = new PassportExpired(passportId);
                }
                else
                {
                    passportId = passportExpired.Pid;
                    if (passportExpired.ExpiredTime < DateTime.Now)
                    {
                        //过期移除
                        imeiMap.TryRemove(imei, out passportExpired);
                    }
                    //检查超出
                    List<string> expiredMap;
                    if (imeiMap.Count > 100 && ((expiredMap = imeiMap.Where(t => t.Value.ExpiredTime < DateTime.Now).Select(t => t.Key).ToList()).Count > 10))
                    {
                        foreach (var expired in expiredMap)
                        {
                            imeiMap.TryRemove(expired, out passportExpired);
                        }
                    }
                }

                string password = passport.GetRandomPwd();
                list.Add(passportId);
                list.Add(password);
            }

            return list.ToArray();
        }
Пример #5
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="deviceID"></param>
        /// <returns></returns>
        public static string[] GetRegPassport(string deviceID)
        {
            if (!SnsCenterUser.CheckDevice(deviceID))
                throw (new Exception("禁止登入"));
            List<string> list = new List<string>();
            SnsCenterUser user = SnsCenterUser.GetUserByDeviceID(deviceID);

            if (user != null)
            {
                list.Add(user.PassportId);
                list.Add(user.Password);
            }
            else
            {
                SnsPassport passport = new SnsPassport();
                string password = passport.GetRandomPwd();
                list.Add(passport.GetRegPassport());
                list.Add(CryptoHelper.DES_Encrypt(password, GameEnvironment.Setting.ProductDesEnKey));
            }

            return list.ToArray();
        }
Пример #6
0
        public bool IsExistRetail()
        {
            string sGetSql = "select top 1 userid from SnsUserInfo where RetailID=@RetailID and RetailUser=@RetailUser";
            List <SqlParameter> listTmp = new List <SqlParameter>();

            listTmp.Add(SqlParamHelper.MakeInParam("@RetailID", SqlDbType.VarChar, 0, RetailID));
            listTmp.Add(SqlParamHelper.MakeInParam("@RetailUser", SqlDbType.VarChar, 0, RetailUser));
            SqlParameter[] paramsGet = listTmp.ToArray();
            using (SqlDataReader aReader = SqlHelper.ExecuteReader(config.connectionString, CommandType.Text, sGetSql, paramsGet))
            {
                if (aReader.Read())
                {
                    return(true);
                }
            }

            //自动获取通行证
            SnsPassport passport = new SnsPassport();

            this._PassportId  = passport.GetRegPassport();
            this._PassportPwd = CryptoHelper.DES_Encrypt(passport.GetRandomPwd(), GameEnvironment.ProductDesEnKey);
            return(false);
        }
Пример #7
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="imei">if null then get new pid</param>
        /// <returns></returns>
        public static string[] GetRegPassport(string imei)
        {
            if (!SnsCenterUser.CheckDevice(imei))
            {
                throw (new Exception("禁止登入"));
            }
            var           list = new List <string>();
            SnsCenterUser user = SnsCenterUser.GetUserByDeviceId(imei);

            if (user != null)
            {
                list.Add(user.PassportId);
                list.Add(user.Password);
            }
            else
            {
                SnsPassport passport = new SnsPassport();
                string      password = passport.GetRandomPwd();
                list.Add(passport.GetRegPassport());
                list.Add(password);
            }

            return(list.ToArray());
        }
Пример #8
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="deviceID"></param>
        /// <returns></returns>
        public static string[] GetRegPassport(string deviceID)
        {
            if (!SnsCenterUser.CheckDevice(deviceID))
            {
                throw (new Exception("禁止登入"));
            }
            List <string> list = new List <string>();
            SnsCenterUser user = SnsCenterUser.GetUserByDeviceID(deviceID);

            if (user != null)
            {
                list.Add(user.PassportId);
                list.Add(user.Password);
            }
            else
            {
                SnsPassport passport = new SnsPassport();
                string      password = passport.GetRandomPwd();
                list.Add(passport.GetRegPassport());
                list.Add(CryptoHelper.DES_Encrypt(password, GameEnvironment.ProductDesEnKey));
            }

            return(list.ToArray());
        }
Пример #9
0
 /// <summary>
 /// 通道商验证登录
 /// </summary>
 /// <param name="retailId"></param>
 /// <param name="retailUser"></param>
 /// <returns></returns>
 public static string[] LoginByRetail(string retailId, string retailUser)
 {
     string[] result = new string[2];
     SnsCenterUser snsCenterUser = new SnsCenterUser();
     var snsuser = snsCenterUser.GetUserInfo(retailId, retailUser);
     if (snsuser.UserId <= 0)
     {
         //自动获取通行证
         SnsPassport passport = new SnsPassport();
         string pid = passport.GetRegPassport();
         string pwd = passport.GetRandomPwd();
         //modify login of retail bug.
         snsCenterUser = new SnsCenterUser(pid, pwd, string.Empty) { RetailID = retailId, RetailUser = retailUser };
         result[0] = snsCenterUser.InsertSnsUser().ToString();
         result[1] = pid;
         return result;
     }
     result[0] = snsuser.UserId.ToString();
     result[1] = snsuser.PassportId;
     return result;
 }
Пример #10
0
        public bool IsExistRetail()
        {
            string sGetSql = "select top 1 userid from SnsUserInfo where RetailID=@RetailID and RetailUser=@RetailUser";
            List<SqlParameter> listTmp = new List<SqlParameter>();
            listTmp.Add(SqlParamHelper.MakeInParam("@RetailID", SqlDbType.VarChar, 0, RetailID));
            listTmp.Add(SqlParamHelper.MakeInParam("@RetailUser", SqlDbType.VarChar, 0, RetailUser));
            SqlParameter[] paramsGet = listTmp.ToArray();
            using (SqlDataReader aReader = SqlHelper.ExecuteReader(config.connectionString, CommandType.Text, sGetSql, paramsGet))
            {
                if (aReader.Read())
                {
                    return true;
                }
            }

            //自动获取通行证
            SnsPassport passport = new SnsPassport();
            this._PassportId = passport.GetRegPassport();
            this._PassportPwd = CryptoHelper.DES_Encrypt(passport.GetRandomPwd(), GameEnvironment.ProductDesEnKey);
            return false;
        }
Пример #11
0
        /// <summary>
        /// Determines whether this instance is exist retail.
        /// </summary>
        /// <returns><c>true</c> if this instance is exist retail; otherwise, <c>false</c>.</returns>
        public bool IsExistRetail()
        {
            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.Columns = "userid";
            command.OrderBy = "USERID ASC";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = string.Format("{0} AND {1}",
                    command.Filter.FormatExpression("RetailID"),
                    command.Filter.FormatExpression("RetailUser")
                );
            command.Filter.AddParam("RetailID", RetailID);
            command.Filter.AddParam("RetailUser", RetailUser);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    return true;
                }
            }

            //自动获取通行证
            SnsPassport passport = new SnsPassport();
            this._PassportId = passport.GetRegPassport();
            this._PassportPwd = CryptoHelper.DES_Encrypt(passport.GetRandomPwd(), GameEnvironment.ProductDesEnKey);
            return false;
        }