예제 #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);
        }
예제 #2
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);
        }