Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "logincontroller.h"
- #include "requesthandler.h"
- #include "filelogger.h"
- #include "staticfilecontroller.h"
- #include "connection.h"
- #include "sessiontable.h"
- #include "repository.h"
- #include "cookiestorage.h"
- #include <QUuid>
- #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() {
- qDebug() << "In LoginController";
- // HttpSession session=sessionStore->getSession(request,response,true);
- 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 ();
- // Repository rep(username, password);
- Repository rep1(username, password);
- rep1.connect();
- rep1.request();
- // rep.listOfUsers();
- session = rep.returnSession();
- QSqlDatabase db = rep.returnDb();
- qDebug("--------------------- ");
- qDebug() << "random sid";
- sid = QUuid::createUuid();
- sid_1 = qrand() % 65536 ;
- QByteArray sid_b = sid.toByteArray();
- // QByteArray sid_b = sid_str.toUtf8();
- SessionTable::instance()->add(User(username, sid_1, session, db));
- CookieStorage::GetInstance()->SaveCookie(Cookie(sid_b));
- qDebug("--------------------- ");
- if(db.isOpen()){
- qDebug("----open----");
- _response.setStatus(200);
- _response.setCookie(HttpCookie(QByteArray("sessionId"), QByteArray(sid_b), 60000));
- }
- else{
- qDebug("closed");
- _response.setStatus(400);
- }
- SessionTable::instance()->add(User(username, sid_1, session, db));
- }
- void LoginController::users() {
- qDebug() << "In LoginController_users";
- // HttpSession session=sessionStore->getSession(request,response,true);
- // 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 ();
- // Repository rep(username, password);
- // rep.connect();
- // вызов rep, который в login
- rep.listOfUsers();
- }
- void LoginController::logout() {
- SessionTable::instance()->removeBySessionId(sid_1);
- CookieStorage::GetInstance()->DeleteCookie(Cookie(session));
- }
- //void LoginController::session() {
- //}
- bool LoginController::is_authorize() {
- return SessionTable::instance()->session_is_exist(sid_1) && CookieStorage::GetInstance()->CookieIsExist(Cookie(session));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement