示例#1
0
        public static string GetSignPassword(this ISession session)
        {
            string password = null;

            switch (session.WsUserName.ClientType)
            {
            case NTMinerAppType.MinerClient:
                password = ((IMinerClientSession)session).GetSignPassword();
                break;

            case NTMinerAppType.MinerStudio:
                var userData = UserSet.GetUser(UserId.CreateLoginNameUserId(session.LoginName));
                if (userData != null)
                {
                    password = userData.Password;
                }
                break;

            default:
                break;
            }
            return(password);
        }
示例#2
0
        public static bool TryGetUser(string base64String, out WsUserName wsUserName, out UserData userData, out string errMsg)
        {
            wsUserName = null;
            userData   = null;
            errMsg     = string.Empty;
            if (string.IsNullOrEmpty(base64String))
            {
                errMsg = $"{nameof(base64String)}为空";
                return(false);
            }
            string json = Encoding.UTF8.GetString(Convert.FromBase64String(base64String));

            wsUserName = VirtualRoot.JsonSerializer.Deserialize <WsUserName>(json);
            if (wsUserName == null)
            {
                errMsg = $"{nameof(base64String)}编码的json字符串格式错误";
                return(false);
            }
            if (!wsUserName.IsValid())
            {
                errMsg = "wsUserName提交的数据无效";
                return(false);
            }
            userData = UserSet.GetUser(UserId.Create(wsUserName.UserId));
            if (userData == null)
            {
                errMsg = $"用户{wsUserName.UserId}不存在";
                return(false);
            }
            if (!userData.IsEnabled)
            {
                errMsg = $"用户{wsUserName.UserId}已被禁用";
                return(false);
            }
            return(true);
        }
示例#3
0
        public static QueryClientsResponse QueryClientsForWs(QueryClientsForWsRequest request)
        {
            QueryClientsResponse response;

            if (request == null)
            {
                response = ResponseBase.InvalidInput <QueryClientsResponse>("参数错误");
            }
            else
            {
                request.PagingTrim();
                try {
                    var user = UserSet.GetUser(UserId.CreateLoginNameUserId(request.LoginName));
                    if (user == null)
                    {
                        response = ResponseBase.InvalidInput <QueryClientsResponse>("用户不存在");
                    }
                    else
                    {
                        var data = ClientDataSet.QueryClients(
                            user,
                            request,
                            out int total,
                            out CoinSnapshotData[] latestSnapshots,
                            out int totalOnlineCount,
                            out int totalMiningCount) ?? new List <ClientData>();
                        response = QueryClientsResponse.Ok(data, total, latestSnapshots, totalMiningCount, totalOnlineCount);
                    }
                }
                catch (Exception e) {
                    Logger.ErrorDebugLine(e);
                    response = ResponseBase.ServerError <QueryClientsResponse>(e.Message);
                }
            }
            return(response);
        }