Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
7 / 5 / 2
Регистрация: 25.05.2013
Сообщений: 112

Права доступа пользователей приложения

12.02.2020, 14:30. Показов 1872. Ответов 2

Студворк — интернет-сервис помощи студентам
Всем привет!

Есть приложение-клиент для работы с информацией, содержащейся в БД.

Нужно реализовать механизм разделения прав доступа к ресурсам БД и инструментам клиента в зависимости от предоставленных прав.

Как мне это представляется:
- информация о пользователях и о их права должна храниться в базе данных.
- после аутентификации и авторизации необходимо произвести какие-то действия, предоставляющие какие-либо возможности.

Вопрос заключается в том, как организовать реализацию различных прав дступа?

В каком виде должны храниться права в базе ?
В зависимости от прав для каждого пользователя менять интерфейс, чтобы лишних кнопок не было?
При выполнении каких-то действий производить проверку (типа как декораторы в Python) ?

Как правильно делается подобное ? На уровне интерфейса (скрывать/показывать элементы) ?

Понятно, что можно сделать настройки на сервере БД. Но есть инструменты, не обращающиеся к БД, к которым так же нужно ограничивать доступ?

Не очень хочется изобретать велосипед, может есть какие-то отлаженные механизмы...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2020, 14:30
Ответы с готовыми решениями:

Права доступа приложения к собственной папке в "Program Files"
Написал программу на С++ Builder, сделал инстолятор. Программа устанавливается в Programm Files\myprog. Во время работы программы в ее...

Разграничить права пользователей на выполнение операций
доброго времени суток. задача: разграничить права пользователей на выполнение тех или иных операций (пользователь "А" может...

Права доступа к определенным веткам реестра.Доступ к реестру.
Уважаемые специалисты. Подскажите пожалуйста, как програмно получить права на чтение и изменение определенных веток реестра. А именно...

2
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
12.02.2020, 15:01
Цитата Сообщение от Fastex007 Посмотреть сообщение
В каком виде должны храниться права в базе ?
Завести отдельную таблицу в БД со списком пользователей и полем "Роль" (ну как его назвать - решать Вам) и, например, учетной записью в AD (например "Access_Login"). Назначить роли соответствующие права и при запуске определять, кто запустил и какие пункты меню, другие разрешения им назначить. Маленький пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    
char buffer[256];
 
DWORD size;
 
      size=sizeof(buffer);
 
        GetUserName(buffer, &size);
 
      if(AnsiString(buffer)=="USERNAME") //USERNAME - это возврат логина пользователя из AD
      {
       ShowMessage("Вася Пупкин");
       nSettings->Visible=true;
.................................................//остальные настройки меню и доступов
      }
      else
      {
         ShowMessage("Access denied!!!");
         Application->Terminate();
      }
Надеюсь, как сделать запрос к БД и получить информацию из соответствующих полей, объяснять не надо?
0
7 / 5 / 2
Регистрация: 25.05.2013
Сообщений: 112
12.02.2020, 15:10  [ТС]
Цитата Сообщение от TrollHammer Посмотреть сообщение
Надеюсь, как сделать запрос к БД и получить информацию из соответствующих полей, объяснять не надо?
Не надо.
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2020, 15:10
Помогаю со студенческими работами здесь

Хранение и модификация данных программы в папке Program Files (права доступа)
Добрый вечер, уважаемые. Встала передо мной следующая проблема, мой проект содержит файл ini и exe. В ini я записываю настройки во...

Права доступа группе пользователей
Как в битриксе изменить права группам пользователей? Захожу в настройки-пользователи-группы пользователи изменяю в них вкладку доступ -...

Настроить права доступа для пользователей
Всем привет. Вопрос такой: Есть Windows Server 2008, который используется для раздачи интернета (не способ, а инструмент). Есть некоторое...

Права доступа пользователей в Windows 2000 Server
Windows 2000 Server, диски С: , D: (оба NTFS) После переустановки системы да диске D: отсутствует полный доступ к одной из папок даже у...

Как настроить разные права доступа пользователей к файлам и папкам?
Всем привет я в Linux mint Новичек, нужна помощь опытных юзеров!)) Поднимаем сервер на Линуксе, и нужно задать разные уровни доступа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru