Jump to content
Калькуляторы

Разграничение доступа в программе

Пишу программу на С++, надо сделать подсистему управления доступом к модулям самой программы (4 типа доступа: просмотр, редактирование, удаление, создание данних), ломаю голову как правильно решить задачку с точки зрения ООП и масштабируемости. Прошу совета. :)

Share this post


Link to post
Share on other sites

Ну во первых где то надобно это хранить, соответственно должен быть класс доступа,

имхо я бы сделал так

хранил бы наименование плагина (модуля как хотите так и назовите) и связанную таблу доступов на каждого пользователя ну или как там у вас, при чём добавил бы шаблоны согласно которым уже будут предустановленные права, тем самым вы сможете рулить предустановлеными + если нужно настраивать в отдельности тобешь если есть базза данных то связать таблы

юзер -> плагин -> права

соответственно выгребать данные при доступе к конкретной функции

 

в плагинах (классах) должны быть стандартизованые методы типа такого: просмотр редактирование удаление и прочие функции для работы с данными за которые отвечает плагин, соответственно во всех классах если не нужно например редактировать просто ставится функция заглушка (енто на всякий что бы не получить ошибку по доступу к несуществующей функции), просто разрабатывается рыба плагина и потом уже копипастом из этой рыбы делаются все классы для работы с данными

 

Ну как то так :)

Share this post


Link to post
Share on other sites

Разделить на клиент-сервер.

На сервере контролировать доступ и фильтровать запросы клиентов.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this