Russian Qt Forum

Qt => Общие вопросы => Тема начата: kolob от Сентябрь 20, 2011, 16:38



Название: Хранение id пользователя во время исполнен
Отправлено: kolob от Сентябрь 20, 2011, 16:38
Доброе время суток! Тема совсем не относится к Qt. Поэтому решил разместить ее в этом раздели. Вдруг кто уже делал такое, я точно уверен. Я столкнулся с этим недавно. Раньше такое не делал.
При входе в программу пользователь авторизируется, и нужно чтобы его id (например id, может еще что) постоянно был виден в любой части программы. Т.е. заходишь в систему и там только твои справочники, документы и тому подобное. В общем разграничение прав доступа.
Как это реализовать? Мне нужны идеи(немного подробные).

Если такая тема и статья где то обсуждалась, то пошлите туда.


Название: Re: Хранение id пользователя во время исполнен
Отправлено: Drafter от Сентябрь 20, 2011, 17:03
Глобальные переменные?


Название: Re: Хранение id пользователя во время исполнен
Отправлено: asvil от Сентябрь 20, 2011, 17:07
только глобальные переменные


Название: Re: Хранение id пользователя во время исполнен
Отправлено: Fess от Сентябрь 20, 2011, 18:39
Неплохо бы еще обернуть все это в класс, например так:

Код:
class User {
protected:
   static User sInstance;
   int mID;
   QList<Dictionary> mDictionaryList;
   QList<Document> mDocumentList;
public:
   static User* Instance() { return &sInstance; }
   int ID() { return mID; }
   QList<Dictonary> Dictionaries() { return mDictionaryList; }
   QList<Document> Documents() { return mDocumntList; }
};

...
User::Instance()->ID();//have some fun with User ;)
...


Название: Re: Хранение id пользователя во время исполнен
Отправлено: Rem Norton от Сентябрь 20, 2011, 18:51
Можно вот так:

Код
C++ (Qt)
qlonglong idUser = f(); // Типа получили ID юзера
qApp->setProperty("idUser",idUser);
/*
 
 
*/

 
// Доступ из любой части:
qlonglong id = qApp->property("idUser").toLongLong();
 


Название: Re: Хранение id пользователя во время исполнен
Отправлено: asvil от Сентябрь 20, 2011, 22:49
а зачем?


Название: Re: Хранение id пользователя во время исполнен
Отправлено: kolob от Сентябрь 20, 2011, 23:29
Цитировать
только глобальные переменные

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