示例#1
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceId(string imei)
        {
            if (string.IsNullOrEmpty(imei) || imei.StartsWith("00:00:00:00:00:"))
            {
                imei = Guid.NewGuid().ToString("N");
            }

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);

            command.OrderBy          = "USERID ASC";
            command.Columns          = "PassportId,PassportPwd,PwdType,RegType";
            command.Filter           = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = command.Filter.FormatExpression("DeviceID");
            command.Filter.AddParam("DeviceID", imei);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    string        password = Convert.ToString(aReader["PassportPwd"]);
                    SnsCenterUser user     = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, imei);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return(user);
                }
            }
            return(null);
        }
示例#2
0
        /// <summary>
        /// 获取通行证
        /// </summary>
        /// <param name="imei">if null then get new pid</param>
        /// <param name="isNew"></param>
        /// <param name="encodeFunc"></param>
        /// <returns></returns>
        public static string[] GetRegPassport(string imei, bool isNew = false, Func<string, string> encodeFunc = null)
        {
            if (!SnsCenterUser.CheckDevice(imei))
                throw (new Exception("禁止登入"));
            var list = new List<string>();
            SnsUser user = new SnsCenterUser().GetUserByDeviceId(imei);
            string passportId = string.Empty;

            if (!isNew && user.UserId > 0)
            {
                passportId = user.PassportId;
                if (user.RegType == RegType.Guest)
                {
                    //客户端换包重新获取游客账号,密码需要重置 
                    string password = GetRandomPwd();
                    user.Password = encodeFunc != null ? encodeFunc(password) : password;
                    var sns = new SnsCenterUser(user.PassportId, password, imei);
                    sns.ChangePass(user.UserId.ToString(), true);
                }
                else
                {
                    if (encodeFunc != null) user.Password = encodeFunc(user.Password);
                }
                list.Add(passportId);
                list.Add(user.Password);
            }
            else
            {
                PassportExpired passportExpired;
                if (isNew || !imeiMap.TryGetValue(imei, out passportExpired))
                {
                    passportId = new SnsPassport().GetRegPassport();
                    imeiMap[passportId] = 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 = GetRandomPwd();
                if (encodeFunc != null) password = encodeFunc(password);
                list.Add(passportId);
                list.Add(password);
            }
            return list.ToArray();
        }
示例#3
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="imei"></param>
        /// <param name="userType"></param>
        /// <param name="isCustom">use custom passport</param>
        /// <returns></returns>
        public static long LoginByDevice(string user, string password, string imei, out RegType userType, bool isCustom = false)
        {
            if (!SnsCenterUser.CheckDevice(imei))
            {
                throw (new Exception("禁止登录"));
            }
            long userId = 0;

            try
            {
                var snsCenterUser = new SnsCenterUser(user, password, imei);
                var snsUser       = snsCenterUser.GetUserInfo(user);
                if (snsUser == null || snsUser.UserId <= 0)
                {
                    Guid gid;
                    userType = Guid.TryParse(password, out gid) ? RegType.Guest : RegType.Normal;
                    snsCenterUser.RegType = userType;
                    userId = snsCenterUser.InsertSnsUser(isCustom);
                    //过期移除
                    PassportExpired passportExpired;
                    bool            result = string.IsNullOrEmpty(imei) ? imeiMap.TryRemove(user, out passportExpired) : imeiMap.TryRemove(imei, out passportExpired);
                    return(userId);
                }
                userType = snsUser.RegType;
                if (snsCenterUser.ValidatePassport(snsUser))
                {
                    return(snsUser.UserId);
                }
            }
            finally
            {
                SnsCenterUser.AddLoginLog(imei, user);
            }
            return(userId);
        }
示例#4
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="imei"></param>
        /// <returns></returns>
        public static int LoginByDevice(string user, string password, string imei)
        {
            if (!SnsCenterUser.CheckDevice(imei))
            {
                throw (new Exception("禁止登录"));
            }
            int userId        = 0;
            var snsCenterUser = new SnsCenterUser(user, password, imei);
            var snsUser       = snsCenterUser.GetUserInfo(user);

            if (snsUser == null || snsUser.UserId <= 0)
            {
                userId = snsCenterUser.InsertSnsUser();
                SnsCenterUser.AddLoginLog(imei, user);

                //过期移除
                PassportExpired passportExpired;
                imeiMap.TryRemove(imei, out passportExpired);
                return(userId);
            }
            if (snsCenterUser.ValidatePassport(snsUser))
            {
                return(snsUser.UserId);
            }
            SnsCenterUser.AddLoginLog(imei, user);
            return(userId);
        }
示例#5
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);
        }
示例#6
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceID(string deviceID)
        {
            if (deviceID.Length == 0 || deviceID.StartsWith("00:00:00:00:00:"))
            {
                deviceID = Guid.NewGuid().ToString();
            }
            string sGetSql = "select top 1 PassportId, PassportPwd,PwdType, RegType from SnsUserInfo where DeviceID=@DeviceID";
            List <SqlParameter> listTmp = new List <SqlParameter>();

            listTmp.Add(SqlParamHelper.MakeInParam("@DeviceID", SqlDbType.VarChar, 0, deviceID));
            SqlParameter[] paramsGet = listTmp.ToArray();
            using (SqlDataReader aReader = SqlHelper.ExecuteReader(config.connectionString, CommandType.Text, sGetSql, paramsGet))
            {
                if (aReader.Read())
                {
                    PwdType pwdType  = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(aReader["PwdType"]));
                    string  password = Convert.ToString(aReader["PassportPwd"]);
                    if (pwdType == PwdType.MD5)
                    {
                        password = CryptoHelper.DES_Encrypt(password, GameEnvironment.ProductDesEnKey);
                    }

                    SnsCenterUser user = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, deviceID);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return(user);
                }
            }
            return(null);
        }
示例#7
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceID(string deviceID)
        {
            if (deviceID.Length == 0 || deviceID.StartsWith("00:00:00:00:00:"))
            {
                deviceID = Guid.NewGuid().ToString();
            }

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);

            command.OrderBy          = "USERID ASC";
            command.Columns          = "PassportId,PassportPwd,PwdType,RegType";
            command.Filter           = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = command.Filter.FormatExpression("DeviceID");
            command.Filter.AddParam("DeviceID", deviceID);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    PwdType pwdType  = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(aReader["PwdType"]));
                    string  password = Convert.ToString(aReader["PassportPwd"]);
                    //if (pwdType == PwdType.MD5)
                    //{
                    //    password = CryptoHelper.DES_Encrypt(password, GameEnvironment.Setting.ProductDesEnKey);
                    //}

                    SnsCenterUser user = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, deviceID);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return(user);
                }
            }
            return(null);
        }
示例#8
0
        /// <summary>
        /// 检查通行证密码
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static bool CheckPassportPwd(string pid, string password)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
            var           snsuser       = snsCenterUser.GetUserInfo(pid);

            return(snsCenterUser.ValidatePassport(snsuser));
        }
示例#9
0
 /// <summary>
 /// 记录进入游戏服
 /// </summary>
 /// <param name="sns"></param>
 public static void AddGameServerLoginLog(SnsUser sns, int serverId)
 {
     if (sns == null)
     {
         return;
     }
     //
     SnsCenterUser.AddGameServerLoginLog(sns, serverId);
 }
示例#10
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <param name="imei"></param>
        /// <param name="isCustom">use custom passport</param>
        /// <returns></returns>
        public static bool Register(string pid, string password, string imei, bool isCustom = false)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, imei);
            var           snsuser       = snsCenterUser.GetUserInfo(pid);

            if (snsuser.UserId <= 0)
            {
                return(snsCenterUser.InsertSnsUser(isCustom) > 0);
            }
            return(true);
        }
示例#11
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static bool Register(string pid, string password)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
            var           snsuser       = snsCenterUser.GetUserInfo(pid);

            if (snsuser.UserId <= 0)
            {
                return(snsCenterUser.InsertSnsUser() > 0);
            }
            return(true);
        }
示例#12
0
        private static int DoRegisterPassport(string passportId, string password, string[] paramNames, string[] paramValues)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(passportId, password, string.Empty);
            var           snsuser       = snsCenterUser.GetUserInfo(passportId);

            if (snsuser.UserId > 0)
            {
                return(0);
            }
            return(snsCenterUser.InsertSnsUser(paramNames, paramValues));
        }
示例#13
0
        private static long DoRegisterPassport(string passportId, string password, string imei, string[] paramNames, string[] paramValues, out int userType, bool isCustom)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(passportId, password, imei);
            var           snsuser       = snsCenterUser.GetUserInfo(passportId);

            userType = (int)snsCenterUser.RegType;
            if (snsuser.UserId > 0)
            {
                return(0);
            }
            return(snsCenterUser.InsertSnsUser(paramNames, paramValues, isCustom));
        }
示例#14
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="user"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static bool Register(string user, string password)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, string.Empty);
     if (snsCenterUser.GetUserId() == 0)
     {
         return snsCenterUser.InsertSnsUser() > 0;
     }
     else
     {
         return true;
     }
 }
示例#15
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static bool Register(string user, string password)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, string.Empty);

            if (snsCenterUser.GetUserId() == 0)
            {
                return(snsCenterUser.InsertSnsUser() > 0);
            }
            else
            {
                return(true);
            }
        }
示例#16
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());
        }
示例#17
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="password"></param>
        /// <param name="paramNames"></param>
        /// <param name="paramValues"></param>
        /// <returns></returns>
        public static string RegisterPassport(string password, string[] paramNames, string[] paramValues)
        {
            string        pid           = new SnsPassport().GetRegPassport();
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);

            if (snsCenterUser.InsertSnsUser(paramNames, paramValues) > 0)
            {
                return(pid);
            }
            else
            {
                return(string.Empty);
            }
        }
示例#18
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="deviceID"></param>
        /// <returns></returns>
        public static int LoginByDevice(string user, string password, string deviceID)
        {
            if (!SnsCenterUser.CheckDevice(deviceID))
            {
                throw (new Exception("禁止登录"));
            }
            SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, deviceID);
            int           userID        = snsCenterUser.GetUserId();

            if (userID == 0 && !snsCenterUser.IsExist())
            {
                userID = snsCenterUser.InsertSnsUser();
            }
            SnsCenterUser.AddLoginLog(deviceID, user);
            return(userID);
        }
示例#19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <param name="deviceID"></param>
        /// <param name="openId"></param>
        /// <returns>0:失败, 1:成功 2:已绑定</returns>
        public static int RegisterWeixin(string pid, string password, string deviceID, string openId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, deviceID);

            if (snsCenterUser.GetUserId() > 0)
            {
                if (string.IsNullOrEmpty(snsCenterUser.WeixinCode))
                {
                    SnsUser snsuser = new SnsUser()
                    {
                        PassportId = pid, WeixinCode = openId
                    };
                    return(snsCenterUser.ChangeUserInfo(pid, snsuser) > 0 ? 1 : 0);
                }
                return(2);
            }
            return(0);
        }
示例#20
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <param name="imei"></param>
        /// <param name="openId"></param>
        /// <returns>0:失败, 1:成功 2:已绑定</returns>
        public static int RegisterWeixin(string pid, string password, string imei, string openId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, imei);
            var           snsuser       = snsCenterUser.GetUserInfo(pid);

            if (snsuser.UserId > 0)
            {
                if (string.IsNullOrEmpty(snsuser.WeixinCode))
                {
                    return(snsCenterUser.ChangeUserInfo(pid, new SnsUser()
                    {
                        PassportId = pid, WeixinCode = openId
                    }) > 0 ? 1 : 0);
                }
                return(2);
            }
            return(0);
        }
示例#21
0
        /// <summary>
        /// 通道商验证登录
        /// </summary>
        /// <param name="retailID"></param>
        /// <param name="retailUser"></param>
        /// <returns></returns>
        public static string[] LoginByRetail(string retailID, string retailUser)
        {
            string[]      sArr          = new string[2];
            SnsCenterUser snsCenterUser = new SnsCenterUser()
            {
                RetailID   = retailID,
                RetailUser = retailUser
            };
            int userID = snsCenterUser.GetUserId();

            if (userID == 0 && !snsCenterUser.IsExistRetail())
            {
                userID = snsCenterUser.InsertSnsUser();
            }
            sArr[0] = userID.ToString();
            sArr[1] = snsCenterUser.PassportId;
            return(sArr);
        }
示例#22
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());
        }
示例#23
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());
        }
示例#24
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceID(string deviceID)
        {
            if (deviceID.Length == 0 || deviceID.StartsWith("00:00:00:00:00:"))
            {
                deviceID = Guid.NewGuid().ToString();
            }

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.OrderBy = "USERID ASC";
            command.Columns = "PassportId,PassportPwd,PwdType,RegType";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = command.Filter.FormatExpression("DeviceID");
            command.Filter.AddParam("DeviceID", deviceID);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    PwdType pwdType = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(aReader["PwdType"]));
                    string password = Convert.ToString(aReader["PassportPwd"]);
                    if (pwdType == PwdType.MD5)
                    {
                        password = CryptoHelper.DES_Encrypt(password, GameEnvironment.ProductDesEnKey);
                    }

                    SnsCenterUser user = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, deviceID);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return user;
                }
            }
            return null;
        }
示例#25
0
 /// <summary>
 /// 通道商验证登录
 /// </summary>
 /// <param name="retailID"></param>
 /// <param name="retailUser"></param>
 /// <returns></returns>
 public static string[] LoginByRetail(string retailID, string retailUser)
 {
     string[] sArr = new string[2];
     SnsCenterUser snsCenterUser = new SnsCenterUser()
     {
         RetailID = retailID,
         RetailUser = retailUser
     };
     int userID = snsCenterUser.GetUserId();
     if (userID == 0 && !snsCenterUser.IsExistRetail())
     {
         userID = snsCenterUser.InsertSnsUser();
     }
     sArr[0] = userID.ToString();
     sArr[1] = snsCenterUser.PassportId;
     return sArr;
 }
示例#26
0
        /// <summary>
        /// 检查通行证密码
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static bool CheckPassportPwd(string pid, string password)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);

            return(snsCenterUser.GetUserId() > 0);
        }
示例#27
0
        /// <summary>
        /// 记录上一次登录服
        /// </summary>
        /// <returns></returns>
        public static int RecordLastsevid(string userId, int lastsevid)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.RecordLastsevid(userId, lastsevid));
        }
示例#28
0
 /// <summary>
 /// 检查通行证密码
 /// </summary>
 /// <param name="passportId"></param>
 /// <param name="password"></param>
 /// <param name="imei"></param>
 /// <returns></returns>
 public static bool CheckPassword(string passportId, string password, string imei = "") {
     SnsCenterUser snsCenterUser = new SnsCenterUser(passportId, password, imei);
     var snsuser = snsCenterUser.GetUserInfo(passportId);
     return snsCenterUser.ValidatePassport(snsuser);
 }
示例#29
0
        /// <summary>
        /// 记录登录服
        /// </summary>
        /// <returns></returns>
        public static int RecordServerId(string userId, string serverId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.RecordServerId(userId, serverId));
        }
示例#30
0
 /// <summary>
 /// 登录
 /// </summary>
 /// <param name="user"></param>
 /// <param name="password"></param>
 /// <param name="deviceID"></param>
 /// <returns></returns>
 public static int LoginByDevice(string user, string password, string deviceID)
 {
     if (!SnsCenterUser.CheckDevice(deviceID))
         throw (new Exception("禁止登录"));
     SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, deviceID);
     int userID = snsCenterUser.GetUserId();
     if (userID == 0 && !snsCenterUser.IsExist())
     {
         userID = snsCenterUser.InsertSnsUser();
     }
     SnsCenterUser.AddLoginLog(deviceID, user);
     return userID;
 }
示例#31
0
 /// <summary>
 /// 修改密码
 /// </summary>
 /// <param name="user"></param>
 /// <param name="password"></param>
 /// <param name="imei"></param>
 /// <returns></returns>
 public static int ChangePassword(string user, string password, string imei = "") {
     SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, imei);
     return snsCenterUser.ChangePassword(user);
 }
示例#32
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static int ChangePass(string user, string password)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, string.Empty);

            return(snsCenterUser.ChangePass(user));
        }
示例#33
0
        /// <summary>
        /// 获取用户类型
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public static int GetUserType(string user)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(user, string.Empty, string.Empty);

            return((int)snsCenterUser.GetUserType());
        }
示例#34
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="openId"></param>
        /// <returns></returns>
        public static SnsUser LoginByWeixin(string openId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.GetUserByWeixin(openId));
        }
示例#35
0
 /// <summary>
 /// 检查通行证密码
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static bool CheckPassportPwd(string pid, string password)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
     return snsCenterUser.GetUserId() > 0;
 }
示例#36
0
        /// <summary>
        /// 增加空密码处理
        /// 修改:伍张发
        /// </summary>
        /// <returns></returns>
        public int GetUserId()
        {
            RegType regType = RegType;
            PwdType pwdType = PwdType.DES;
            SetLoginType(ref regType, ref pwdType, PassportId);

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.OrderBy = "USERID ASC";
            command.Columns = "USERID,PASSPORTID,DEVICEID,REGTYPE,RETAILID,RETAILUSER,WEIXINCODE";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();

            string password = _PassportPwd;

            if (regType == RegType.Normal)
            {
                if (pwdType == PwdType.MD5)
                {
                    password = CryptoHelper.DES_Decrypt(password, GameEnvironment.ProductDesEnKey);
                    password = PasswordEncryptMd5(password);
                }
                command.Filter.Condition = string.Format("{0} AND {1}",
                        command.Filter.FormatExpression("PassportId"),
                        command.Filter.FormatExpression("PassportPwd")
                    );
                command.Filter.AddParam("PassportId", _PassportId);
                command.Filter.AddParam("PassportPwd", password);
            }
            else if (regType == RegType.Guest)
            {
                if (pwdType == PwdType.MD5)
                {
                    password = CryptoHelper.DES_Decrypt(password, GameEnvironment.ProductDesEnKey);
                    if (password.Length != 32)
                    {
                        //判断是否已经MD5加密
                        password = PasswordEncryptMd5(password);
                    }
                }

                command.Filter.Condition = string.Format("{0} AND {1} AND {2} AND {3}",
                        command.Filter.FormatExpression("DeviceID"),
                        command.Filter.FormatExpression("PassportPwd"),
                        command.Filter.FormatExpression("PassportId"),
                        command.Filter.FormatExpression("RegType")
                    );
                command.Filter.AddParam("DeviceID", _deviceID);
                command.Filter.AddParam("PassportPwd", password);
                command.Filter.AddParam("PassportId", _PassportId);
                command.Filter.AddParam("RegType", (int)regType);
            }
            else
            {
                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))
            {
                SnsCenterUser user = new SnsCenterUser();
                if (aReader.Read())
                {
                    try
                    {
                        _userid = Convert.ToInt32(aReader["userid"]);
                        _PassportId = aReader["PassportId"].ToString();
                        _deviceID = aReader["DeviceID"].ToNotNullString();
                        RegType = aReader["RegType"].ToEnum<RegType>();
                        RetailID = aReader["RetailID"].ToNotNullString();
                        RetailUser = aReader["RetailUser"].ToNotNullString();
                        WeixinCode = aReader["WeixinCode"].ToNotNullString();
                    }
                    catch (Exception ex)
                    {
                        TraceLog.WriteError("GetUserId method error:{0}, sql:{0}", ex, command.Sql);
                    }
                    return _userid;
                }
                else
                {
                    return 0;
                }
            }
        }
示例#37
0
        /// <summary>
        /// 补全用户信息
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="snsuser"></param>
        /// <returns></returns>
        public static int ChangeUserInfo(string pid, SnsUser snsuser)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.ChangeUserInfo(pid, snsuser));
        }
示例#38
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceId(string imei)
        {
            if (string.IsNullOrEmpty(imei) || imei.StartsWith("00:00:00:00:00:"))
            {
                imei = Guid.NewGuid().ToString("N");
            }

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);
            command.OrderBy = "USERID ASC";
            command.Columns = "PassportId,PassportPwd,PwdType,RegType";
            command.Filter = ConnectManager.Provider.CreateCommandFilter();
            command.Filter.Condition = command.Filter.FormatExpression("DeviceID");
            command.Filter.AddParam("DeviceID", imei);
            command.Parser();

            using (var aReader = ConnectManager.Provider.ExecuteReader(CommandType.Text, command.Sql, command.Parameters))
            {
                if (aReader.Read())
                {
                    string password = Convert.ToString(aReader["PassportPwd"]);
                    SnsCenterUser user = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, imei);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return user;
                }
            }
            return null;
        }
示例#39
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="openId"></param>
 /// <returns></returns>
 public static SnsUser LoginByWeixin(string openId)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser();
     return snsCenterUser.GetUserByWeixin(openId);
 }
示例#40
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="password"></param>
 /// <param name="paramNames"></param>
 /// <param name="paramValues"></param>
 /// <returns></returns>
 public static string RegisterPassport(string password, string[] paramNames, string[] paramValues)
 {
     string pid = new SnsPassport().GetRegPassport();
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
     if (snsCenterUser.InsertSnsUser(paramNames, paramValues) > 0)
     {
         return pid;
     }
     else
     {
         return string.Empty;
     }
 }
示例#41
0
 /// <summary>
 /// 修改密码
 /// </summary>
 /// <param name="user"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static int ChangePass(string user, string password)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(user, password, string.Empty);
     return snsCenterUser.ChangePass(user);
 }
示例#42
0
 /// <summary>
 /// 补全用户信息
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="snsuser"></param>
 /// <returns></returns>
 public static int ChangeUserInfo(string pid, SnsUser snsuser)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser();
     return snsCenterUser.ChangeUserInfo(pid, snsuser);
 }
示例#43
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="password"></param>
        /// <param name="deviceID"></param>
        /// <param name="openId"></param>
        /// <returns>0:失败, 1:成功 2:已绑定</returns>
        public static int RegisterWeixin(string pid, string password, string deviceID, string openId)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, deviceID);

            if (snsCenterUser.GetUserId() > 0)
            {
                if (string.IsNullOrEmpty(snsCenterUser.WeixinCode))
                {
                    SnsUser snsuser = new SnsUser() { PassportId = pid, WeixinCode = openId };
                    return snsCenterUser.ChangeUserInfo(pid, snsuser) > 0 ? 1 : 0;
                }
                return 2;
            }
            return 0;
        }
示例#44
0
        /// <summary>
        /// 增加空密码处理
        /// 修改:伍张发
        /// </summary>
        /// <returns></returns>
        public int GetUserId()
        {
            RegType regType = RegType;
            PwdType pwdType = PwdType.DES;

            SetLoginType(ref regType, ref pwdType, PassportId);

            var command = ConnectManager.Provider.CreateCommandStruct("SnsUserInfo", CommandMode.Inquiry);

            command.OrderBy = "USERID ASC";
            command.Columns = "USERID,PASSPORTID,DEVICEID,REGTYPE,RETAILID,RETAILUSER,WEIXINCODE";
            command.Filter  = ConnectManager.Provider.CreateCommandFilter();

            string password = _PassportPwd;

            if (regType == RegType.Normal)
            {
                if (pwdType == PwdType.MD5)
                {
                    password = PasswordEncryptMd5(_PassportPwd);
                }
                command.Filter.Condition = string.Format("{0} AND {1}",
                                                         command.Filter.FormatExpression("PassportId"),
                                                         command.Filter.FormatExpression("PassportPwd")
                                                         );
                command.Filter.AddParam("PassportId", _PassportId);
                command.Filter.AddParam("PassportPwd", password);
            }
            else if (regType == RegType.Guest)
            {
                if (pwdType == PwdType.MD5)
                {
                    if (password.Length != 32)
                    {
                        //判断是否已经MD5加密
                        password = PasswordEncryptMd5(_PassportPwd);
                    }
                }

                command.Filter.Condition = string.Format("{0} AND {1} AND {2} AND {3}",
                                                         command.Filter.FormatExpression("DeviceID"),
                                                         command.Filter.FormatExpression("PassportPwd"),
                                                         command.Filter.FormatExpression("PassportId"),
                                                         command.Filter.FormatExpression("RegType")
                                                         );
                command.Filter.AddParam("DeviceID", _deviceID);
                command.Filter.AddParam("PassportPwd", password);
                command.Filter.AddParam("PassportId", _PassportId);
                command.Filter.AddParam("RegType", (int)regType);
            }
            else
            {
                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))
            {
                SnsCenterUser user = new SnsCenterUser();
                if (aReader.Read())
                {
                    try
                    {
                        _userid     = Convert.ToInt32(aReader["userid"]);
                        _PassportId = aReader["PassportId"].ToString();
                        _deviceID   = aReader["DeviceID"].ToNotNullString();
                        RegType     = aReader["RegType"].ToEnum <RegType>();
                        RetailID    = aReader["RetailID"].ToNotNullString();
                        RetailUser  = aReader["RetailUser"].ToNotNullString();
                        WeixinCode  = aReader["WeixinCode"].ToNotNullString();
                    }
                    catch (Exception ex)
                    {
                        TraceLog.WriteError("GetUserId method error:{0}, sql:{0}", ex, command.Sql);
                    }
                    return(_userid);
                }
                else
                {
                    return(0);
                }
            }
        }
示例#45
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public static SnsUser GetUserInfo(string pid)
        {
            SnsCenterUser snsCenterUser = new SnsCenterUser();

            return(snsCenterUser.GetUserInfo(pid));
        }
示例#46
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="password"></param>
 /// <param name="imei"></param>
 /// <param name="openId"></param>
 /// <returns>0:失败, 1:成功 2:已绑定</returns>
 public static int RegisterWeixin(string pid, string password, string imei, string openId)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, imei);
     var snsuser = snsCenterUser.GetUserInfo(pid);
     if (snsuser.UserId > 0)
     {
         if (string.IsNullOrEmpty(snsuser.WeixinCode))
         {
             return snsCenterUser.ChangeUserInfo(pid, new SnsUser() { PassportId = pid, WeixinCode = openId }) > 0 ? 1 : 0;
         }
         return 2;
     }
     return 0;
 }
示例#47
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static bool Register(string pid, string password)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
     var snsuser = snsCenterUser.GetUserInfo(pid);
     if (snsuser.UserId <= 0)
     {
         return snsCenterUser.InsertSnsUser() > 0;
     }
     return true;
 }
示例#48
0
 /// <summary>
 /// 获取用户类型
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 public static int GetUserType(string user)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(user, string.Empty, string.Empty);
     return (int)snsCenterUser.GetUserType();
 }
示例#49
0
 private static int DoRegisterPassport(string passportId, string password, string[] paramNames, string[] paramValues)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(passportId, password, string.Empty);
     var snsuser = snsCenterUser.GetUserInfo(passportId);
     if (snsuser.UserId > 0)
     {
         return 0;
     }
     return snsCenterUser.InsertSnsUser(paramNames, paramValues);
 }
示例#50
0
        /// <summary>
        /// 是否有绑定DeviceID
        /// </summary>
        /// <returns></returns>
        public static SnsCenterUser GetUserByDeviceID(string deviceID)
        {
            if (deviceID.Length == 0 || deviceID.StartsWith("00:00:00:00:00:"))
            {
                deviceID = Guid.NewGuid().ToString();
            }
            string sGetSql = "select top 1 PassportId, PassportPwd,PwdType, RegType from SnsUserInfo where DeviceID=@DeviceID";
            List<SqlParameter> listTmp = new List<SqlParameter>();
            listTmp.Add(SqlParamHelper.MakeInParam("@DeviceID", SqlDbType.VarChar, 0, deviceID));
            SqlParameter[] paramsGet = listTmp.ToArray();
            using (SqlDataReader aReader = SqlHelper.ExecuteReader(config.connectionString, CommandType.Text, sGetSql, paramsGet))
            {
                if (aReader.Read())
                {
                    PwdType pwdType = (PwdType)Enum.ToObject(typeof(PwdType), Convert.ToInt32(aReader["PwdType"]));
                    string password = Convert.ToString(aReader["PassportPwd"]);
                    if (pwdType == PwdType.MD5)
                    {
                        password = CryptoHelper.DES_Encrypt(password, GameEnvironment.ProductDesEnKey);
                    }

                    SnsCenterUser user = new SnsCenterUser(Convert.ToString(aReader["PassportId"]), password, deviceID);
                    user.RegType = (RegType)Enum.ToObject(typeof(RegType), Convert.ToInt32(aReader["RegType"]));
                    return user;
                }
            }
            return null;
        }
示例#51
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="imei"></param>
        /// <returns></returns>
        public static int LoginByDevice(string user, string password, string imei)
        {
            if (!SnsCenterUser.CheckDevice(imei))
                throw (new Exception("禁止登录"));
            int userId = 0;
            var snsCenterUser = new SnsCenterUser(user, password, imei);
            var snsUser = snsCenterUser.GetUserInfo(user);
            if (snsUser == null || snsUser.UserId <= 0)
            {
                userId = snsCenterUser.InsertSnsUser();
                SnsCenterUser.AddLoginLog(imei, user);

                //过期移除
                PassportExpired passportExpired;
                imeiMap.TryRemove(imei, out passportExpired);
                return userId;
            }
            if (snsCenterUser.ValidatePassport(snsUser))
            {
                return snsUser.UserId;
            }
            SnsCenterUser.AddLoginLog(imei, user);
            return userId;
        }
示例#52
0
        /// <summary>
        /// 增加空密码处理
        /// 修改:伍张发
        /// </summary>
        /// <returns></returns>
        public int GetUserId()
        {
            RegType regType = RegType;
            PwdType pwdType = PwdType.DES;
            SetLoginType(ref regType, ref pwdType, PassportId);
            List<SqlParameter> listTmp = new List<SqlParameter>();
            string sGetSql = "select top 1 userid,PassportId,DeviceID,RegType,RetailID,RetailUser,WeixinCode from SnsUserInfo ";
            string password = _PassportPwd;

            if (regType == RegType.Normal)
            {
                if (pwdType == PwdType.MD5)
                {
                    password = CryptoHelper.DES_Decrypt(password, GameEnvironment.ProductDesEnKey);
                    password = PasswordEncryptMd5(password);
                }
                sGetSql += "where PassportId=@aPassportId and PassportPwd=@PassportPwd";
                listTmp.Add(SqlParamHelper.MakeInParam("@aPassportId", SqlDbType.VarChar, 0, _PassportId));
                listTmp.Add(SqlParamHelper.MakeInParam("@PassportPwd", SqlDbType.VarChar, 0, password));
            }
            else if (regType == RegType.Guest)
            {
                if (pwdType == PwdType.MD5)
                {
                    password = CryptoHelper.DES_Decrypt(password, GameEnvironment.ProductDesEnKey);
                    if (password.Length != 32)
                    {
                        //判断是否已经MD5加密
                        password = PasswordEncryptMd5(password);
                    }
                }
                sGetSql += "where (DeviceID=@DeviceID and PassportPwd=@PassportPwd ) and PassportId=@aPassportId and RegType=@RegType";
                listTmp.Add(SqlParamHelper.MakeInParam("@aPassportId", SqlDbType.VarChar, 0, _PassportId));
                listTmp.Add(SqlParamHelper.MakeInParam("@DeviceID", SqlDbType.VarChar, 0, _deviceID));
                listTmp.Add(SqlParamHelper.MakeInParam("@PassportPwd", SqlDbType.VarChar, 0, password));
                listTmp.Add(SqlParamHelper.MakeInParam("@RegType", SqlDbType.Int, 0, (int)regType));
            }
            else
            {
                sGetSql += "where RetailID=@RetailID and RetailUser=@RetailUser";
                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))
            {
                SnsCenterUser user = new SnsCenterUser();
                if (aReader.Read())
                {
                    try
                    {
                        _userid = Convert.ToInt32(aReader["userid"]);
                        _PassportId = aReader["PassportId"].ToString();
                        _deviceID = aReader["DeviceID"].ToNotNullString();
                        RegType = aReader["RegType"].ToEnum<RegType>();
                        RetailID = aReader["RetailID"].ToNotNullString();
                        RetailUser = aReader["RetailUser"].ToNotNullString();
                        WeixinCode = aReader["WeixinCode"].ToNotNullString();
                    }
                    catch (Exception ex)
                    {
                        TraceLog.WriteError("GetUserId method error:{0}, sql:{0}", ex, sGetSql);
                    }
                    return _userid;
                }
                else
                {
                    return 0;
                }
            }
        }
示例#53
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;
 }
示例#54
0
 /// <summary>
 /// 注册
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="password"></param>
 /// <param name="imei"></param>
 /// <param name="isCustom">use custom passport</param>
 /// <returns></returns>
 public static bool Register(string pid, string password, string imei, bool isCustom = false) {
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, imei);
     var snsuser = snsCenterUser.GetUserInfo(pid);
     if (snsuser.UserId <= 0) {
         return snsCenterUser.InsertSnsUser(isCustom) > 0;
     }
     return true;
 }
示例#55
0
 /// <summary>
 /// 检查通行证密码
 /// </summary>
 /// <param name="pid"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public static bool CheckPassportPwd(string pid, string password)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser(pid, password, string.Empty);
     var snsuser = snsCenterUser.GetUserInfo(pid);
     return snsCenterUser.ValidatePassport(snsuser);
 }
示例#56
0
 private static int DoRegisterPassport(string passportId, string password, string imei, string[] paramNames, string[] paramValues, out int userType, bool isCustom) {
     SnsCenterUser snsCenterUser = new SnsCenterUser(passportId, password, imei);
     var snsuser = snsCenterUser.GetUserInfo(passportId);
     userType = (int)snsCenterUser.RegType;
     if (snsuser.UserId > 0) {
         return 0;
     }
     return snsCenterUser.InsertSnsUser(paramNames, paramValues, isCustom);
 }
示例#57
0
 /// <summary>
 /// 获取用户信息
 /// </summary>
 /// <param name="pid"></param>
 /// <returns></returns>
 public static SnsUser GetUserInfo(string pid)
 {
     SnsCenterUser snsCenterUser = new SnsCenterUser();
     return snsCenterUser.GetUserInfo(pid);
 }
示例#58
0
 /// <summary>
 /// 登录
 /// </summary>
 /// <param name="user"></param>
 /// <param name="password"></param>
 /// <param name="imei"></param>
 /// <param name="userType"></param>
 /// <param name="isCustom">use custom passport</param>
 /// <returns></returns>
 public static int LoginByDevice(string user, string password, string imei, out RegType userType, bool isCustom = false) {
     if (!SnsCenterUser.CheckDevice(imei))
         throw (new Exception("禁止登录"));
     int userId = 0;
     try {
         var snsCenterUser = new SnsCenterUser(user, password, imei);
         var snsUser = snsCenterUser.GetUserInfo(user);
         if (snsUser == null || snsUser.UserId <= 0) {
             Guid gid;
             userType = Guid.TryParse(password, out gid) ? RegType.Guest : RegType.Normal;
             snsCenterUser.RegType = userType;
             userId = snsCenterUser.InsertSnsUser(isCustom);
             //过期移除
             PassportExpired passportExpired;
             bool result = string.IsNullOrEmpty(imei) ? imeiMap.TryRemove(user, out passportExpired) : imeiMap.TryRemove(imei, out passportExpired);
             return userId;
         }
         userType = snsUser.RegType;
         if (snsCenterUser.ValidatePassport(snsUser)) {
             return snsUser.UserId;
         }
     } finally {
         SnsCenterUser.AddLoginLog(imei, user);
     }
     return userId;
 }