Skip to content

Commit 30059a9

Browse files
committed
modify:does not ver user pass and user name when user logout.just ver self
fixed:user logout httppass is not user info
1 parent d84ffc1 commit 30059a9

File tree

1 file changed

+28
-43
lines changed

1 file changed

+28
-43
lines changed

XEngine_Source/XEngine_MQServiceApp/MQService_TCPTask.cpp

Lines changed: 28 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ bool MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCXSTR lpszC
102102
memset(&st_HTTPParament, '\0', sizeof(XCLIENT_APIHTTP));
103103

104104
st_HTTPParament.nTimeConnect = 2;
105-
106105
ProtocolModule_Packet_PassAuth(&st_ProtocolAuth, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERLOG);
107106
APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XPass.tszPassLogin, tszSDBuffer, &nHTTPCode, &ptszSDBuffer, &nSDLen, NULL, NULL, &st_HTTPParament);
108107
if (200 != nHTTPCode)
@@ -137,60 +136,46 @@ bool MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCXSTR lpszC
137136
}
138137
else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSEROUT == pSt_ProtocolHdr->unOperatorCode)
139138
{
140-
XENGINE_PROTOCOL_USERAUTH st_ProtocolAuth;
141-
XENGINE_PROTOCOL_USERINFO st_ProtocolInfo;
142-
143-
memset(&st_ProtocolAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH));
144-
memset(&st_ProtocolInfo, '\0', sizeof(XENGINE_PROTOCOL_USERINFO));
145-
139+
XCHAR tszUserName[MAX_PATH] = {};
140+
XENGINE_PROTOCOL_USERINFO st_ProtocolInfo = {};
146141

147-
memcpy(&st_ProtocolAuth, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERAUTH));
148-
if (!SessionModule_Client_GetInfoByUser(st_ProtocolAuth.tszUserName, &st_ProtocolInfo))
142+
if (!SessionModule_Client_GetUser(lpszClientAddr, tszUserName))
149143
{
150144
pSt_ProtocolHdr->wReserve = 711;
151145
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
152146
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
153-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("%s客户端:%s,请求登出失败,没有找到用户,可能用户没有登录,错误:%lX"), lpszClientType, lpszClientAddr, SessionModule_GetLastError());
147+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("%s客户端:%s,请求登出失败,用户没有登录"), lpszClientType, lpszClientAddr);
154148
return false;
155149
}
156-
//判断用户是否正确
157-
if (0 == _tcsxncmp(st_ProtocolInfo.tszUserName, st_ProtocolAuth.tszUserPass, _tcsxlen(st_ProtocolInfo.tszUserName)) && (0 == _tcsxncmp(st_ProtocolInfo.tszUserPass, st_ProtocolAuth.tszUserPass, _tcsxlen(st_ProtocolInfo.tszUserPass))))
150+
SessionModule_Client_GetInfoByUser(tszUserName, &st_ProtocolInfo);
151+
//是否需要通知
152+
if (_tcsxlen(st_ServiceCfg.st_XPass.tszPassLogout) > 0)
158153
{
159-
//是否需要通知
160-
if (_tcsxlen(st_ServiceCfg.st_XPass.tszPassLogout) > 0)
161-
{
162-
int nSDLen = 0;
163-
int nHTTPCode = 0;
164-
XCHAR tszSDBuffer[1024];
165-
XCLIENT_APIHTTP st_HTTPParament;
166-
XENGINE_PROTOCOL_USERAUTH st_ProtocolAuth;
167-
168-
memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
169-
memset(&st_HTTPParament, '\0', sizeof(XCLIENT_APIHTTP));
170-
memset(&st_ProtocolAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH));
154+
int nSDLen = 0;
155+
int nHTTPCode = 0;
156+
XCHAR tszSDBuffer[1024] = {};
157+
XCLIENT_APIHTTP st_HTTPParament = {};
158+
XENGINE_PROTOCOL_USERAUTH st_ProtocolAuth = {};
171159

172-
st_HTTPParament.nTimeConnect = 2;
160+
_tcsxcpy(st_ProtocolAuth.tszUserName, st_ProtocolInfo.tszUserName);
161+
_tcsxcpy(st_ProtocolAuth.tszUserPass, st_ProtocolInfo.tszUserPass);
173162

174-
ProtocolModule_Packet_PassAuth(&st_ProtocolAuth, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSEROUT);
175-
APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XPass.tszPassLogout, tszSDBuffer, &nHTTPCode, NULL, NULL, NULL, NULL, &st_HTTPParament);
176-
if (200 == nHTTPCode)
177-
{
178-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("%s客户端:%s,请求远程注销成功"), lpszClientType, lpszClientAddr);
179-
}
180-
else
181-
{
182-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("%s客户端:%s,请求远程注销失败,HTTPCode:%d"), lpszClientType, lpszClientAddr, nHTTPCode);
183-
}
163+
st_HTTPParament.nTimeConnect = 2;
164+
ProtocolModule_Packet_PassAuth(&st_ProtocolAuth, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSEROUT);
165+
APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XPass.tszPassLogout, tszSDBuffer, &nHTTPCode, NULL, NULL, NULL, NULL, &st_HTTPParament);
166+
if (200 == nHTTPCode)
167+
{
168+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("%s客户端:%s,请求远程注销成功"), lpszClientType, lpszClientAddr);
169+
}
170+
else
171+
{
172+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("%s客户端:%s,请求远程注销失败,HTTPCode:%d"), lpszClientType, lpszClientAddr, nHTTPCode);
184173
}
185-
st_ProtocolInfo.nUserState = 0;
186-
DBModule_MQUser_UserUPDate(&st_ProtocolInfo);
187-
SessionModule_Client_DeleteByUser(st_ProtocolAuth.tszUserName);
188-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("%s客户端:%s,用户登出成功,用户名:%s,密码:%s"), lpszClientType, lpszClientAddr, st_ProtocolAuth.tszUserName, st_ProtocolAuth.tszUserPass);
189-
}
190-
else
191-
{
192-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("%s客户端:%s,用户登出失败,用户或密码错误,用户名:%s,密码:%s"), lpszClientType, lpszClientAddr, st_ProtocolAuth.tszUserName, st_ProtocolAuth.tszUserPass);
193174
}
175+
st_ProtocolInfo.nUserState = 0;
176+
DBModule_MQUser_UserUPDate(&st_ProtocolInfo);
177+
SessionModule_Client_Delete(lpszClientAddr);
178+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("%s客户端:%s,用户登出成功,用户名:%s"), lpszClientType, lpszClientAddr, tszUserName);
194179
}
195180
else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERREG == pSt_ProtocolHdr->unOperatorCode)
196181
{

0 commit comments

Comments
 (0)