Beispiel #1
0
        public static bool GetPlayerInfo(string token, string userLoginName, string clientIP, HttpContext context, out string message)
        {
            message = "";
            WebPlayerInfo userinfo = WcfClient.Instance.GetPlayerInfo(token, userLoginName, clientIP);

            if (userinfo == null)
            {
                message = "登录失败。";
                return(false);
            }
            if (userinfo.IsLocked)
            {
                message = "您的账户已经被锁定,无法登录,请联系管理员解决。";
                return(false);
            }

            WebLoginUserInfo webloginPlayer = WebLoginUserInfo.FromWebPlayerInfo(userinfo);

            // 登录状态100分钟内有效
            MyFormsPrincipal <WebLoginUserInfo> .SignIn(webloginPlayer.UserLoginName, webloginPlayer, 30);

            MyFormsPrincipal <WebLoginUserInfo> .TrySetUserInfo(context);

            return(true);
        }
Beispiel #2
0
        public WebPlayerInfo GetPlayerInfo(string token, string userLoginName, string clientIP)
        {
            try
            {
                string userName = WebClientManager.GetClientUserName(token);
                if (string.IsNullOrEmpty(userName))
                {
                    return(null);
                }

                var playerInfo = PlayerController.Instance.GetPlayerInfoByUserName(userName);
                if (playerInfo.SimpleInfo.UserLoginName != userLoginName)
                {
                    return(null);
                }

                WebPlayerInfo webPlayerInfo = new WebPlayerInfo()
                {
                    Token           = token,
                    UserName        = playerInfo.SimpleInfo.UserName,
                    UserLoginName   = playerInfo.SimpleInfo.UserLoginName,
                    ShoppingCredits = playerInfo.FortuneInfo.ShoppingCreditsEnabled
                };
                if (playerInfo.FortuneInfo.UserRemoteServerValidStopTime != null)
                {
                    DateTime stopTime = playerInfo.FortuneInfo.UserRemoteServerValidStopTime.ToDateTime();
                    if (stopTime >= DateTime.Now)
                    {
                        webPlayerInfo.UserRemoteServerValidStopTime = playerInfo.FortuneInfo.UserRemoteServerValidStopTime;
                    }
                }
                webPlayerInfo.IsLongTermRemoteServiceUser = playerInfo.FortuneInfo.IsLongTermRemoteServiceUser;
                webPlayerInfo.UserRemoteServiceValidTimes = playerInfo.FortuneInfo.UserRemoteServiceValidTimes;

                return(webPlayerInfo);
            }
            catch (Exception exc)
            {
                LogHelper.Instance.AddErrorLog("WEB 玩家登录名 [" + userLoginName + "] 登录矿场失败, IP=" + clientIP, exc);
                return(null);
            }
        }
Beispiel #3
0
        public static WebLoginUserInfo FromWebPlayerInfo(WebPlayerInfo playerInfo)
        {
            WebLoginUserInfo webloginPlayer = new WebLoginUserInfo()
            {
                ShoppingCredits = playerInfo.ShoppingCredits,
                Token           = playerInfo.Token,
                UserLoginName   = playerInfo.UserLoginName,
                UserName        = playerInfo.UserName
            };

            if (playerInfo.UserRemoteServerValidStopTime != null && playerInfo.IsLongTermRemoteServiceUser)
            {
                webloginPlayer.UserRemoteServerValidStopTimeText = playerInfo.UserRemoteServerValidStopTime.ToDateTime().ToString();
            }
            else if (playerInfo.UserRemoteServiceValidTimes > 0)
            {
                webloginPlayer.UserRemoteServerValidStopTimeText = playerInfo.UserRemoteServiceValidTimes.ToString() + "次";
            }
            else
            {
                webloginPlayer.UserRemoteServerValidStopTimeText = "无";
            }
            return(webloginPlayer);
        }