Здравствуйте. Есть база данных, данные в которую добавляются/изменяются/удаляются/выполняется поиск/выводится отчеты в excel. С помощью QtCreator.
Этим приложением будет пользоваться несколько человек. Как можно организовать разграниченный доступ? Первый человек, который вошел в приложение может воспроизводить любые действия. Остальные пользователи могут только выполнять поиск и выводит отчет?
Использование транзакций? QSqlDatabase::database().transaction()
или блокировки в mySQL? SET LOCK
Или есть какой-то более правильный способ?
Почему в самой базе не создать отдельных пользователей и не назначить им разные права? А в приложении в зависимости от пользователя использовать разный логин/пароль для подключения. Или вопрос не в этом?
Lander, Скорее всего я неверно объяснил. У всех пользователей одинаковые права. Но суть такая, что одновременно работать с приложением могут 5 человек. А права будут зависеть только от того, каким по счету вошел этот человек. Если первым, то возможно все, если нет, то ограничено.
Oleg Seledets, вы можете поставить максимальное количество подключений к root'у единицей, т.е. второй пользователь уже не сможет зайти с этой учетки. Далее в Qt пытаетесь подключится сначала от root'a, если не получилось (рут уже занят), то подключаетесь как обычный пользователь, у которого мало прав (права выдаются при помощи GRANT)