Сделал залогинивание, разлогинивание полностью рабочее

This commit is contained in:
krivoshein
2024-12-04 15:29:01 +03:00
parent 56eff211ce
commit 53b37240eb
56 changed files with 1140 additions and 826 deletions

View File

@@ -70,6 +70,25 @@ void DataParser::createAuthMessage(ClientAutorization *auth)
file.close();
}
void DataParser::createDeAuthMessage(ClientDeAutorization *deAuth)
{
QFile file(tempName);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("ClientDeAutorization");
xmlWriter.writeAttribute("Login",deAuth->Login);
xmlWriter.writeEndElement();
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
}
void DataParser::createServerSettings(QString address, QString port)

View File

@@ -21,6 +21,7 @@ public:
void saveClientSettrings(QString language,bool isAutoStart);
void createFileDataList(QList<FileData> fileDataList,QString filename);
void createAuthMessage(ClientAutorization *auth);
void createDeAuthMessage(ClientDeAutorization *deAuth);
void createAuthData(ServerAuthorization *serverAuth);
void createAuthDataOffline(QString username,QString pass);
void addRunData(QList<int> displays);

View File

@@ -319,11 +319,36 @@ void RecognizeSystem::xmlParser(QByteArray array)
serverAuth->AccessType = value;
checkAccessType(value);
}
if (name == "Login"){
serverAuth->Login = value;
}
}
emit sigSaveLoginData(serverAuth);
}
if(xmlReader.name() == "ServerDeAuthorization"){
ServerDeAuthorization *serverDeAuth = new ServerDeAuthorization;
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if (name == "Result"){
serverDeAuth->Result = value == "true" ? true : false;
}
if (name == "Login"){
serverDeAuth->Login = value;
}
}
emit sigDeAuth(serverDeAuth);
}
xmlReader.readNext();
}
}

View File

@@ -28,6 +28,7 @@ signals:
void sigSocketDisabled();
void sigServerBlocked();
void sigSaveLoginData(ServerAuthorization *serverAuth);
void sigDeAuth(ServerDeAuthorization *serverDeAuth);
void sigSocketWaitForReadyRead(int waitTime);
void sigStartCompare();

View File

@@ -17,6 +17,12 @@ public:
QString ClientName;
bool Result;
QString AccessType;
QString Login;
};
class ServerDeAuthorization{
public:
bool Result;
QString Login;
};
class ClientAutorization{
@@ -25,6 +31,11 @@ public:
QString Password;
};
class ClientDeAutorization{
public:
QString Login;
};
class ServerMessage
{
public:

View File

@@ -29,6 +29,22 @@ bool ConnectorToServer::authorizationInstructorLocal(QString login, QString pass
return true;
}
bool ConnectorToServer::deAuthorizationInstructorLocal(QString login)
{
if (!client->getIsConnected())
{
return false;
}
ClientDeAutorization *deAutorization = new ClientDeAutorization;
deAutorization->Login = login;
dataParser->createDeAuthMessage(deAutorization);
emit sigSendDeAutorization();
return true;
}
void ConnectorToServer::initialize()
{
createObjects();
@@ -45,8 +61,10 @@ void ConnectorToServer::bindConnection()
connect(this,&ConnectorToServer::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
connect(this,&ConnectorToServer::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
connect(this,&ConnectorToServer::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
connect(this,&ConnectorToServer::sigSendDeAutorization,sendSystem,&SendSystem::sendClientAutorization);
connect(recognizeSystem,&RecognizeSystem::sigSaveLoginData,this,&ConnectorToServer::sigLoginResult);
connect(recognizeSystem,&RecognizeSystem::sigDeAuth,this,&ConnectorToServer::sigDeLoginResult);
}
void ConnectorToServer::createObjects()

View File

@@ -14,6 +14,7 @@ public:
explicit ConnectorToServer(QObject *parent = nullptr);
bool authorizationInstructorLocal(QString login, QString password);
bool deAuthorizationInstructorLocal(QString login);
private slots:
@@ -23,7 +24,9 @@ signals:
SendSystem *sendSystem,
QThread *thread);
void sigSendAutorization();
void sigSendDeAutorization();
void sigLoginResult(ServerAuthorization * serverAuth);
void sigDeLoginResult(ServerDeAuthorization * serverDeAuth);
private:
void initialize();