Как реализовать авторизацию и поддержку сессии в Qt?
Здравствуйте!
Необходимо написать небольшую программу, где при запуске будет выводиться форма авторизации. Интересует два вопроса:
1. Как именно реализовать эту форму (ведь простого расставления полей явно мало)? Необходимо расположить их в какой-нибудь области, а затем уже по submit обрабатывать значения полей, которые в неё входят?
2. Как правильно поддерживать сессию авторизованного пользователя?
1) Расположить в какой области? Создаем "Класс формы", просто расставляем поля и кнопку (можно использовать layout, да), в классе пишем обработчик нажатия.
2) Тут без подробностей вообще никак, зависит от API. Часто дают после авторизации какой-нибудь токен сессии, который нужно просто сохранить и использовать во всех запросах.
Насчет второго, то в данном примере все локально. Есть Qt, есть SQLite3. Допустим, в БД уже есть логин и пароль. Нужно ввести два этих значения в соответствующие поля, нажать на кнопку и, при успехе, авторизовать пользователя (создать сессию и хранить в ней, например, хеш). Ну и сверять его. Как-то так.
Антон: вы главное смотрите, если сделаете функцию бэкапа базы, пароль из нее удаляйте, или вообще храните логин и пароль (или его хеш) через QSettings.