mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Сделал залогинивание, разлогинивание полностью рабочее
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ signals:
|
||||
void sigSocketDisabled();
|
||||
void sigServerBlocked();
|
||||
void sigSaveLoginData(ServerAuthorization *serverAuth);
|
||||
void sigDeAuth(ServerDeAuthorization *serverDeAuth);
|
||||
void sigSocketWaitForReadyRead(int waitTime);
|
||||
void sigStartCompare();
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user