@@ -114,14 +114,6 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
114114 _xstprintf (st_UserTable.tszLeftTime , _X (" %d" ), st_AuthConfig.st_XVerification .nTryTime );
115115 st_UserTable.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_AuthConfig.st_XVerification .nTryMode ;
116116 }
117- // 禁止权限0和1注册
118- if (st_UserTable.st_UserInfo .nUserLevel < 10 )
119- {
120- Protocol_Packet_HttpComm (tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_PERMISSION, " user permission level incorrect" );
121- XEngine_Client_TaskSend (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
122- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,注册失败,配置的用户权限错误" ), lpszClientAddr);
123- return false ;
124- }
125117 // 默认普通用户
126118 st_UserTable.st_UserInfo .nUserLevel = 20 ;
127119 if (_tcsxlen (st_UserTable.st_UserInfo .tszUserName ) <= 0 || _tcsxlen (st_UserTable.st_UserInfo .tszUserPass ) <= 0 )
@@ -245,7 +237,13 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
245237 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,找回重置密码失败,密码找回重置功能已经被服务器关闭!" ), lpszClientAddr);
246238 return false ;
247239 }
240+ XCHAR tszNewPass[128 ] = {};
248241 Protocol_Parse_HttpParseUser (lpszMsgBuffer, nMsgLen, &st_UserInfo);
242+ if (_tcsxlen (st_UserInfo.tszUserPass ) > 0 )
243+ {
244+ _tcsxcpy (tszNewPass, st_UserInfo.tszUserPass );
245+ memset (st_UserInfo.tszUserPass , 0 , sizeof (st_UserInfo.tszUserPass ));
246+ }
249247 // 得到数据库信息
250248 bool bSuccess = false ;
251249 if (0 == st_AuthConfig.st_XSql .nDBType )
@@ -272,20 +270,24 @@ bool XEngine_AuthorizeHTTP_User(XNETHANDLE xhToken, LPCXSTR lpszClientAddr, LPCX
272270 return false ;
273271 }
274272 // 重置密码
275- if (0 == st_AuthConfig.st_XSql .nDBType )
276- {
277- bSuccess = DBModule_SQLite_UserSet (&st_UserTable);
278- }
279- else
280- {
281- bSuccess = DBModule_MySQL_UserSet (&st_UserTable);
282- }
283- if (!bSuccess)
273+ if (_tcsxlen (tszNewPass) > 0 )
284274 {
285- Protocol_Packet_HttpComm (tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, " server set db failed" );
286- XEngine_Client_TaskSend (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
287- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求修改密码失败:%s 错误码:%lX" ), lpszClientAddr, st_UserTable.st_UserInfo .tszUserName , DBModule_GetLastError ());
288- return false ;
275+ _xstprintf (st_UserTable.st_UserInfo .tszUserPass , _X (" %s" ), tszNewPass);
276+ if (0 == st_AuthConfig.st_XSql .nDBType )
277+ {
278+ bSuccess = DBModule_SQLite_UserSet (&st_UserTable);
279+ }
280+ else
281+ {
282+ bSuccess = DBModule_MySQL_UserSet (&st_UserTable);
283+ }
284+ if (!bSuccess)
285+ {
286+ Protocol_Packet_HttpComm (tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, " server set db failed" );
287+ XEngine_Client_TaskSend (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
288+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求修改密码失败:%s 错误码:%lX" ), lpszClientAddr, st_UserTable.st_UserInfo .tszUserName , DBModule_GetLastError ());
289+ return false ;
290+ }
289291 }
290292
291293 XENGINE_PROTOCOL_USERAUTHEX st_AuthProtocol = {};
0 commit comments