Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- h
- #ifndef DUMPCONTROLLER_H
- #define DUMPCONTROLLER_H
- //#include "httprequesthandler.h"
- //#include "httpsessionstore.h"
- #include "corecontroller.h"
- //#include "sessiontable.h"
- using namespace stefanfrings;
- class LoginController: public CoreController
- {
- Q_OBJECT
- Q_DISABLE_COPY(LoginController)
- public:
- LoginController(HttpRequestHandler& handler, HttpRequest& request, HttpResponse& response);
- void login();
- void logout();
- // void session();
- bool is_authorize();
- void service(HttpRequest& request, HttpResponse& response);
- double sid;
- QString username, password, cookie;
- };
- #endif // DUMPCONTROLLER_H
- cpp
- #include "logincontroller.h"
- #include "requesthandler.h"
- #include "filelogger.h"
- #include "staticfilecontroller.h"
- #include "connection.h"
- #include "sessiontable.h"
- #include "repository.h"
- #include "httprequesthandler.h"
- #include "httpsessionstore.h"
- #include "sessiontable.h"
- #include <QDir>
- #include <QFile>
- #include <QDebug>
- #include <QSqlDatabase>
- #include <QSqlQuery>
- #include <QSqlRecord>
- #include <QSqlError>
- #include <QDate>
- #include <QString>
- #include <QTextStream>
- #include <QVariant>
- #include <QJsonArray>
- #include <QJsonDocument>
- #include <QJsonObject>
- #include <QJsonValue>
- #include <QJsonParseError>
- #include <QByteArray>
- #include <QString>
- #include <QtSql/QSqlError>
- #include <cstdlib>
- LoginController::LoginController(HttpRequestHandler& handler, HttpRequest& request, HttpResponse& response) :
- CoreController(handler, request, response)
- {
- }
- void LoginController::login() {
- QString uu = QString::fromStdString(_request.getBody().toStdString());
- QByteArray arr = uu.toLocal8Bit();
- QJsonObject doc = QJsonDocument::fromJson(arr).object();
- username = doc.value("username").toString ();
- password = doc.value("password").toString ();
- // cookie = _request->getCookie();
- Repository rep(username, password);
- rep.connect();
- rep.request();
- QString session = rep.returnSession();
- QSqlDatabase db = rep.returnDb();
- qDebug("--------------------- ");
- double sid = (double)(rand())/RAND_MAX;
- SessionTable::instance()->add(User(username, sid, session, db));
- qDebug("--------------------- ");
- // if (password==username) {
- // response.setStatus(200);
- // }
- // else {
- // response.setStatus(400);
- // }
- if(db.isOpen()){
- qDebug("----open----");
- _response.setStatus(200);
- // _response->setCookie(cookie);
- }
- else{
- qDebug("closed");
- _response.setStatus(400);
- }
- SessionTable::instance()->add(User(username, sid, session, db));
- }
- void LoginController::logout() {
- SessionTable::instance()->removeBySessionId(sid);
- }
- //void LoginController::session() {
- //}
- bool LoginController::is_authorize() {
- return SessionTable::instance()->session_is_exist(sid);
- }
- D:\RSO_projects\6_serv\Serv_msoft_pre_alpha_0.0001\src\logincontroller.h:12: ошибка: expected class-name before '{' token
- {
- ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement