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); }
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); } }
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); }