Russian Qt Forum

Qt => Общие вопросы => Тема начата: lokoArt от Март 03, 2010, 11:04



Название: Аутентификация пользователей
Отправлено: lokoArt от Март 03, 2010, 11:04
Добрый день.
Поделитесь своим мнением,как реализовать аутентификацию пользователей.
Есть программа, работать с ней можно начать после проверки имени пользователя и пароля, данные о пользователях храняться в БД. Я не могу понять, как хранить текущее состояние?
Заранее спасибо.


Название: Re: Аутентификация пользователей
Отправлено: NicK от Март 03, 2010, 12:25
Например,в бд можно хранить имя и хэш пароля (MD5) и при логине сравнивать вводимый пароль с хэшем.
Цитировать
Я не могу понять, как хранить текущее состояние?
Не понятно, что имеется в виду. Если состояние пользователя типа "подключен/отлкючен", можно использовать какое-нибудь значение (delta) в той же бд. Например при успешном логине ставить delta=1, иначе delta=0. При выходе/дисконнекте также delta=0. Это позволит отслеживать текущее состояние подключиенных/отключенных клиентов БД.


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

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



Название: Re: Аутентификация пользователей
Отправлено: asvil от Март 03, 2010, 14:19
эм. возможно иммеется ввиду как глобально, чтобы все знали, хранить флаг состояния подключения?
Код:
void connect() {
qApp->setProperty("connected", true);
}

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

bool isConnected() {
return qApp->property("connected").isValid()
}


Название: Re: Аутентификация пользователей
Отправлено: dio от Март 03, 2010, 15:19
Как вариант, использовать аутентификацию СУБД. Для каждого пользователя приложения заводить пользователя БД.
В этом случае ничего реализовывать не надо, все уже реализовано в СУБД. Всего лишь надо этим грамотно воспользоваться.


Название: Re: Аутентификация пользователей
Отправлено: lokoArt от Март 04, 2010, 06:42
Всё спасибо большое!!! Чего-то я ступил...