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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Хранение id пользователя во время исполнен  (Прочитано 3630 раз)
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« : Сентябрь 20, 2011, 16:38 »

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

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

Qt 5.11.0, Win, MinGW
Drafter
Гость
« Ответ #1 : Сентябрь 20, 2011, 17:03 »

Глобальные переменные?
Записан
asvil
Гость
« Ответ #2 : Сентябрь 20, 2011, 17:07 »

только глобальные переменные
Записан
Fess
Гость
« Ответ #3 : Сентябрь 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 ;)
...
Записан
Rem Norton
Гость
« Ответ #4 : Сентябрь 20, 2011, 18:51 »

Можно вот так:

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

 
// Доступ из любой части:
qlonglong id = qApp->property("idUser").toLongLong();
 
Записан
asvil
Гость
« Ответ #5 : Сентябрь 20, 2011, 22:49 »

а зачем?
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #6 : Сентябрь 20, 2011, 23:29 »

Цитировать
только глобальные переменные

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

Qt 5.11.0, Win, MinGW
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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