3
3eJIeHbIuҚар. 7, 2021, 7:02 Т.Ж.

Авторизация в приложении.

Подскажите пожалуйста, в каком направлении работать. Необходимо реализовать форму для авторизации в приложении. Пользователь вводит пароль и логин и работает с приложением, после нажимает кнопку сохранить и выходит. Как лучше реализовать, с QSettings или с БД? Помогите разобраться, не знаю с чего начать.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

20
IscanderChe
  • Қар. 7, 2021, 7:05 Т.Ж.

БД + хэширование паролей.

    3
    • Қар. 7, 2021, 7:08 Т.Ж.

    Какую бд оптимальнее всего использовать в Qt?

      IscanderChe
      • Қар. 7, 2021, 7:12 Т.Ж.

      Это зависит от задач. Проще всего - SQLite.

        3
        • Қар. 7, 2021, 7:30 Т.Ж.

        Самые простые задачи, в разных ячейках - разные значения. Отнимать, прибавлять.

          3
          • Қар. 10, 2021, 2:42 Т.Қ.

          А в бд как? Строка - логин, столбик - пароль?

            IscanderChe
            • Қар. 10, 2021, 2:50 Т.Қ.

            Не строка-столбик, а поле. У БД есть только поле, имеющее соответствующее наименование. Ну, в табличных терминах, заголовки таблицы и ячейки. В поле логина можете хранить прямые данные, а вот в поле пароля - только хэш пароля. Это нужно, чтобы его не взломали. Если БД взломают, то открыто хранимые пароли будут доступны взломщику. Хэш шифрует пароль теоретически невосстанавливаемо. По крайней мере, за разумное время.

              3
              • Қар. 22, 2021, 11:23 Т.Ж.

              Направьте пожалуйста в нужное русло. Вник в основные аспекты БД. Как применить это в Qt? Поле ввода line edit используется для этих целей? И как это выражается в синтаксисе. Чтобы данные с line edit попадали в таблицу БД. В консоли работаю с mysql, а в Qt не могу разобраться.

                IscanderChe
                • Қар. 22, 2021, 11:38 Т.Ж.
                • (өңделген)

                Начните с SQLite, проще реализовать создание БД и её последующее редактирование через код. На этом портале есть несколько примеров, изучите их.

                QLineEdit используется, само собой. Ведь для авторизации надо логин-пароль как-то вводить. И QPushButton нужна, чтобы по нажатию на неё передать данные приложению. Привязываете через сигнально-слотовое соединение нажатие на кнопку к слоту проверки пары логин-пароль, а в слоте извлекаете данные из БД и сравниваете с пользовательским вводом.

                Ну, и не худо бы, наверное, форму регистрации пользователей иметь. Всё аналогично вышесказанному за исключением содержания слота: в этом случае данные надо записывать в БД.

                  IscanderChe
                  • Қар. 22, 2021, 4:01 Т.Қ.

                  Чуть попозже накидаю простенький примерчик.

                    IscanderChe
                    • Қар. 23, 2021, 4:46 Т.Ж.

                    Ловите, изучайте.
                    SimpleAutorization.zip SimpleAutorization.zip

                      3
                      • Қар. 23, 2021, 12:02 Т.Қ.

                      Спасибо большое.

                        3
                        • Қар. 23, 2021, 12:43 Т.Қ.

                        Я немного не понял, сущности sqlite для работы с этой субд в Qt надо дополнительно скачивать или нет?

                          IscanderChe
                          • Қар. 23, 2021, 2:01 Т.Қ.

                          Ничего не надо скачивать, всё должно работать "из коробки".

                            3
                            • Жел. 1, 2021, 11:48 Т.Ж.

                            Пытаюсь разобраться в вашем примере и понял то что просто пытаюсь скопировать ваш код себе и запустить, но я так не хочу. Хочу разобраться в нём до каждой инструкции, только вот не получается. Есть незнакомые сущности, какая инструкция за что отвечает. Знаком с С++ и с ООП но реверс-инженеринг провести немогу) Подскажите пожалуйста, как набить руку в этом.

                              U
                              • Жел. 2, 2021, 2:19 Т.Ж.

                              "Хочу разобраться в нём до каждой инструкции"
                              Хотите разобраться - разбирайтесь)) Как? Увидели метод, который вызывает интерес => нажали левой кнопкой мыши на него => нажали f1 => прочитали в открывшемся хелпе, что метод делает и как.
                              Такой же подход к классам и сущностям))

                              Все программисты так работают) Никто не помнит наизусть все классы и методы, все принимаемые и возвращаемые значения... Все жмут f1 и читают)
                              И это не реверс-инженеринг... Это обычное чтение кода...
                              "Чукча не читатель, чукча писатель" - это не про Вас должно быть)

                                IscanderChe
                                • Жел. 2, 2021, 10:57 Т.Ж.

                                Undergiven верно всё написал. В комплект поставки Qt входит приложение Assistant, там полный хелп по языку, им и пользуйтесь.

                                Я тоже не вдруг начал кодить на Qt. Постепенно, с простейших примеров, "дорос" вот до этого. Помочь может только практическое применение, других метод не придумано.

                                  3
                                  • Жел. 2, 2021, 11:12 Т.Ж.

                                  спасибо.

                                    3
                                    • Жел. 10, 2021, 12:15 Т.Қ.
                                    • (өңделген)

                                    Я правильно понимаю, autorizationdialog родительское окно в котором происходит регистрация, widget - производное? Или в widget происходит регистрация а в autorizationdialog уже когда вошёл в бд?

                                      IscanderChe
                                      • Жел. 11, 2021, 12:41 Т.Ж.

                                      Регистрацию я не реализовывал, только авторизацию пользователя. Это вы сами думайте над регистрацией, ничего сложного там нет. Те же формы с кнопками, только функционал немножко другой. Ну, и запрос к базе данных на запись.

                                      widget - основной, с него начинается работа программы. autorizationdialog - вызывается по нажатию на кнопку "Войти" (m_autorizeButton).

                                        3
                                        • Жел. 11, 2021, 12:49 Т.Ж.
                                        • (өңделген)

                                        Спасибо, разобрался. Единственный момент, С++ сложный как язык. Море моментов где можно запутаться и программа будет подвисать. Оптимизации всякие.

                                          Пікірлер

                                          Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                                          Кіріңіз немесе Тіркеліңіз
                                          AD

                                          C++ - Тест 004. Указатели, Массивы и Циклы

                                          • Нәтиже:50ұпай,
                                          • Бағалау ұпайлары-4
                                          m
                                          • molni99
                                          • Қаз. 26, 2024, 1:37 Т.Ж.

                                          C++ - Тест 004. Указатели, Массивы и Циклы

                                          • Нәтиже:80ұпай,
                                          • Бағалау ұпайлары4
                                          m
                                          • molni99
                                          • Қаз. 26, 2024, 1:29 Т.Ж.

                                          C++ - Тест 004. Указатели, Массивы и Циклы

                                          • Нәтиже:20ұпай,
                                          • Бағалау ұпайлары-10
                                          Соңғы пікірлер
                                          ИМ
                                          Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
                                          Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                          Evgenii Legotckoi
                                          Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
                                          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                                          A
                                          ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
                                          Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                                          ИМ
                                          Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
                                          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                                          d
                                          dblas5Шілде 5, 2024, 11:02 Т.Ж.
                                          QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                                          Енді форумда талқылаңыз
                                          m
                                          moogoҚар. 22, 2024, 7:17 Т.Ж.
                                          Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
                                          Evgenii Legotckoi
                                          Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
                                          добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                                          t
                                          tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
                                          google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                                          NSProject
                                          NSProjectМаусым 4, 2022, 3:49 Т.Ж.
                                          Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…

                                          Бізді әлеуметтік желілерде бақылаңыз