Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Suggestions on creating a user authentication system.
QtWS25 Last Chance

Suggestions on creating a user authentication system.

Scheduled Pinned Locked Moved General and Desktop
authenticationencryption
15 Posts 2 Posters 5.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    SGaist
    Lifetime Qt Champion
    wrote on 31 Mar 2015, 22:48 last edited by
    #6

    It's rather: establish a secure connection to your server, that's simple: make it only accept https connection. Then you need to send the credential from your client to your server and do the checks

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • E Offline
      E Offline
      ealione
      wrote on 1 Apr 2015, 06:50 last edited by
      #7

      I guess you are right, establishing a secure connection is very important, but
      I originally did my server only using http, following the various Qt examples. So now I found it hard to make it use https.
      Qt's example on a secure connection did not help me very much because my servers architecture is a little bit different and that example is not... flexible to change I would say.
      Someone here in the forums recommended this, from which I learned a great deal of things but it is using simple http, as most of the servers I have seen in Qt.

      1 Reply Last reply
      0
      • S Offline
        S Offline
        SGaist
        Lifetime Qt Champion
        wrote on 1 Apr 2015, 23:01 last edited by
        #8

        For the connection encryption setup, see QSslSocket

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • E Offline
          E Offline
          ealione
          wrote on 2 Apr 2015, 06:41 last edited by
          #9

          I tried making my server use QSslSocket (I created some self signed keys) but when trying to connect to it I get

          QIODevice::read: device not open

          So now I am in the process of trying to find what is happening.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 2 Apr 2015, 23:36 last edited by
            #10

            How are you creating it ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • E Offline
              E Offline
              ealione
              wrote on 3 Apr 2015, 06:57 last edited by ealione 4 Mar 2015, 06:58
              #11

              I have a 'Listener' class that is subclassing QTcpServer

              class Listener : public QTcpServer {
              ...
              

              It is using a worker

              class NewConnectionHandler : public QThread {
              ...
              

              In this worker class I provide a socket for the server to use in each new connection

              moveToThread(this);
              
              QFile certFile(QStringLiteral("./certificate/testC.cer"));
              QFile keyFile(QStringLiteral("./certificate/testR.pem"));
              certFile.open(QIODevice::ReadOnly);
              keyFile.open(QIODevice::ReadOnly);
              QSslCertificate certificate(&certFile, QSsl::Pem);
              QSslKey sslKey(&keyFile, QSsl::Rsa, QSsl::Pem);
              certFile.close();
              keyFile.close();
              
              sslSocket.moveToThread(this);
              sslSocket.setLocalCertificate(certificate);
              sslSocket.setPrivateKey(sslKey);
              sslSocket.setProtocol(QSsl::TlsV1SslV3);
              sslSocket.startServerEncryption();
              
              connect(&sslSocket, SIGNAL(readyRead()), SLOT(read()));
              connect(&sslSocket, SIGNAL(disconnected()), SLOT(disconnected()));
              connect(&readTimer, SIGNAL(timeout()), SLOT(readTimeout()));
              
              this->start();
              

              This is pretty much what I am trying to do. The server is highly based from the one in the link I provided, and the one from VoidRealm's youtube video.

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 3 Apr 2015, 22:42 last edited by
                #12

                On what is the first moveToThread called ?

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • E Offline
                  E Offline
                  ealione
                  wrote on 7 Apr 2015, 06:43 last edited by
                  #13

                  I use moveToThread for the ConnectionHandler class (class NewConnectionHandler) that takes care of creating a socket in the manner described above. I then return it to my listener class. It works for a TcpSocket, but if I try to alter it like above then it stops working.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 7 Apr 2015, 23:18 last edited by
                    #14

                    If you really want to use multithreading then have a look at the Threaded Fortune Server example

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0
                    • E Offline
                      E Offline
                      ealione
                      wrote on 8 Apr 2015, 07:02 last edited by
                      #15

                      I have. Usually all my projects get inspired by either the examples or some other project that someone has put on the web. Its just that sometimes I have trouble moving them to the next level, just like with this one.

                      1 Reply Last reply
                      0

                      15/15

                      8 Apr 2015, 07:02

                      • Login

                      • Login or register to search.
                      15 out of 15
                      • First post
                        15/15
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved