Russian Qt Forum
Сентябрь 30, 2024, 16:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Аутентификация пользователей  (Прочитано 4181 раз)
lokoArt
Гость
« : Март 03, 2010, 11:04 »

Добрый день.
Поделитесь своим мнением,как реализовать аутентификацию пользователей.
Есть программа, работать с ней можно начать после проверки имени пользователя и пароля, данные о пользователях храняться в БД. Я не могу понять, как хранить текущее состояние?
Заранее спасибо.
Записан
NicK
Гость
« Ответ #1 : Март 03, 2010, 12:25 »

Например,в бд можно хранить имя и хэш пароля (MD5) и при логине сравнивать вводимый пароль с хэшем.
Цитировать
Я не могу понять, как хранить текущее состояние?
Не понятно, что имеется в виду. Если состояние пользователя типа "подключен/отлкючен", можно использовать какое-нибудь значение (delta) в той же бд. Например при успешном логине ставить delta=1, иначе delta=0. При выходе/дисконнекте также delta=0. Это позволит отслеживать текущее состояние подключиенных/отключенных клиентов БД.
Записан
kramer3d
Гость
« Ответ #2 : Март 03, 2010, 13:04 »

Добрый день.
Поделитесь своим мнением,как реализовать аутентификацию пользователей.
Есть программа, работать с ней можно начать после проверки имени пользователя и пароля, данные о пользователях храняться в БД. Я не могу понять, как хранить текущее состояние?
Заранее спасибо.
А в чем проблема-то? Чем член какого-нибудь класса, отвечающего за аутентификацию
Код
C++ (Qt)
private:
   bool authenticated;
 
не подходит? Инициализируем в false, залогинились - присвоили true, разлогинились - присвоили false обратно. Для доступа сделать публичный метод isAuthenticated().

Или я чего-то не понял?

Записан
asvil
Гость
« Ответ #3 : Март 03, 2010, 14:19 »

эм. возможно иммеется ввиду как глобально, чтобы все знали, хранить флаг состояния подключения?
Код:
void connect() {
qApp->setProperty("connected", true);
}

void disconnect() {
qApp->setProperty("connected", QVariant());
}

bool isConnected() {
return qApp->property("connected").isValid()
}
Записан
dio
Гость
« Ответ #4 : Март 03, 2010, 15:19 »

Как вариант, использовать аутентификацию СУБД. Для каждого пользователя приложения заводить пользователя БД.
В этом случае ничего реализовывать не надо, все уже реализовано в СУБД. Всего лишь надо этим грамотно воспользоваться.
Записан
lokoArt
Гость
« Ответ #5 : Март 04, 2010, 06:42 »

Всё спасибо большое!!! Чего-то я ступил...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 21.