база данных, Delphi, radstudio 2009, проблема с сортировкой, и поиском, и авторизацией.

Компьютеры программирование программы базы данных делфи

К примеру у меня есть программа, написанная в СР RadStudio 2009/delphi( не важно какая), и доступ к этой программе осуществляется непосредственно через авторизацию( внесение данных ( (1)ФИО, (2)Логин, (3)Пароль, (4)Уровень доступа(об этом по подробнее: ХОЧУ СДЕЛАТЬ 3 УРОВНЯ ДОСТУПА: (1) Главный Админ, (2)Пользователь, (3)админ)) в таблицу, которая является составной частью Бд( не важно какой, в данном вопросе), вопрос: Помогите дотумкать как осуществить 3 уровня доступа:

1) Что бы при входе через главного Администратора отрывалась форма Адмиинистрирование
2)Чтобы при входе через админа открывалась формаN, адаптированная под него.
3) Чтобы при входе через ПОЛЬЗОВАТЕЛЯ открывалась формаN, адаптированная под пользователя.



Ну и второй попутный вопрос у данной проге:

Так же в Бд есть таблица журнал заявок в которой приведены такие атрибуты как( (1-счетчик)код, (2-Memo)Сообщение заявки,(3-числ)Админ,(4-числ)Прибор,(5-дата\время)Дата/Время)) Где тип атрибута числ. заводится отдельная таблица( справочник) для атрибута-Админ, данные приведены в таблице пользователи, атрибуты которой приведены выше.

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

Как сделать так чтобы для каждого пользователя, был виден список отправленных им сообщения, и как сделать так чтобы админ видел список адресованных только ему сообщений(и нечего лишнего), а главный администратор видел бы все!
Я знаю что это запрос на сортиовку по каждому из людей, но как это сделать? помогите!
Ответы:
- У вас же в базе есть поле, в котором вы храните уровень доступа? Вот после авторизации читаете его из базы и сохраняете в глобальной переменной. При создании каждой новой формы проверяете значение этой переменной, и соответственно настраиваете контролы на форме: что то прячете, что то показываете.
Есть конечно и готовые решения типа TMS Security System.
- Ничего не понял. У вас же есть поле, в которое вносится номер создавшего заявку пользователя? Вот по нему и фильтруйте. Если нету, то добавьте.
1) В Delphi нет базы данных
2) Какую СУБД использовал - не написал.
3) Права доступа делаются внутри БД с помощью создания ролей и использования операторов grant - к клиентскому приложению это дело не имеет. Любое клиентское приложение увидит только то, что ему гранты и роли разрешат
Посмотри пример, как это может быть сделано


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.