Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 01.12.2016
Сообщений: 21
MS Access

Сделать разграничение прав доступа к таблицам и кнопкам в проекте Delphi через данные из Access

23.05.2018, 16:26. Показов 1550. Ответов 4

Студворк — интернет-сервис помощи студентам
Нужно сделать авторизацию в делфи, так что бы данные брались из таблиц MS Access, и не просто авторизацию но и еще разделение прав: мастера и менеджера. Они находятся в разных таблицах. Для авторизации я создал им по два поля Login и Password. Авторизация работает нормально, нашел видос в интернете, там парень делает через SQL запрос, так как я раньше сам этого не делал, но нужно это разграничение. Очень срочно, и пожалуйста разъясните поподробней.
Так же я сделал такой примитивненький код на разграничение, но данные он берет из кода. Т.е. если попытаться добавить новых сотрудников придется лезть в код.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm3.Button1Click(Sender: TObject);
begin
 datamodule1.ADOQuery1.SQL.Clear;
 Datamodule1.Adoquery1.SQL.ADD('Select Password from Mastera WHERE Login='+#39+Edit1.text+#39);
 datamodule1.adoquery1.open;
 if  datamodule1.adoquery1.isempty
 then
 showmessage('Ïîëüçîâàòåëü '+Edit1.Text+' íå íàéäåí!')
 else
 if datamodule1.adoquery1.FieldByName('Password').Value <> Edit2.text
 then showmessage('Íåâåðíûé ïàðîëü!')
 else
 form1.show;
 form3.Hide;
 
end;

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TFormVHOD.Button1Click(Sender: TObject);
begin
 
if  (
     (edit1.text='Сердюков Владимир Кужугетович') and(edit2.text='11')
   ) or (
     (edit1.text='Буйнов Артем Николаевич') and(edit2.text='22')
   )
then
begin
if edit1.Text='Сердюков Владимир Кужугетович' then
      begin
    form2.show;
    FormVHOD.Hide;
    Form2.Label2.caption:='Сердюков Владимир Кужугетович';
    form2.Label4.Caption:='Мастер';
   end;
   if edit1.Text='Буйнов Артем Николаевич' then
        begin
    form2.show;
    FormVHOD.Hide;
    Form2.Label2.caption:='Буйнов Артем Николаевич';
    form2.Label4.Caption:='Менеджер';
   end;
   end
   else
   begin
       showmessage('Данные неправильны!');
   end;
 
end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2018, 16:26
Ответы с готовыми решениями:

Разграничение прав доступа к таблицам Access
подскажите, пожалуйста, как можно реализовать разграничение прав доступа. Таблицы Access. Например , нужно , чтобы администратор мог...

Разграничение прав доступа в БД (Access 2003)
Здравствуйте! Нужна помощь в разграничении прав доступа в БД, которую я создал в MS Access 2003 Пытался методом тыка, искать инструкции,...

Разграничение прав Delphi БД Access
вот я добавил столбец role(роль) в таблицу &quot;table_users&quot; как сделать чтобы при входе он проверял если в столбце роль у этого пользователя...

4
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,411
Записей в блоге: 3
23.05.2018, 16:29
Цитата Сообщение от Cheefoo Посмотреть сообщение
но нужно это разграничение
А что Вы имеете в виду, когда говорите про "разграничение"?
0
0 / 0 / 0
Регистрация: 01.12.2016
Сообщений: 21
23.05.2018, 16:33  [ТС]
допустим есть таблица "Заказы" с данными, и ее редактировать может только менеджер, а мастер только просматривать, и допустим мастеру недоступны некоторые функции - кнопки неактивны...
0
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,411
Записей в блоге: 3
23.05.2018, 16:40
Цитата Сообщение от Cheefoo Посмотреть сообщение
кнопки неактивны
Ну вот Вы сами и ответили себе... При авторизации проверяйте не только пароль, но и логин и в зависимости от этого логина блокируйте/разблокируйте кнопки...
0
5978 / 4553 / 1095
Регистрация: 29.08.2013
Сообщений: 28,180
Записей в блоге: 3
23.05.2018, 16:45
лучше добавить в таблицу еще одно поле РОЛЬ
и запрашивать при входе
SQL
1
SELECT РОЛЬ, Логин FROM Таблица WHERE ПАРОЛЬ=
и уже с этой ролью разграничивать права в интерфейсе
Delphi
1
IF Роль='менеджер' then
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2018, 16:45
Помогаю со студенческими работами здесь

Разграничение прав доступа
Здравствуйте. Занялся в своей организацией разграничением правд доступа. В ДИ написано, что должен предоставлять права доступа. ...

Разграничение прав доступа к БД
Имеется простенький веб сайт, у которого 3 страницы(homepage, page1, page2), в двух последних располагается по табличке(table1, table2) из...

Разграничение прав доступа
Требуется разграничить права доступа, если мы залогинимся под юзером на форме. Тоже самое сделать, если логинимся под администратором. ...

Разграничение прав доступа.
есть БД в SQL Server 2000 и приложение в Delphi. при запуске приложения появляется форма где запрашивается логин и пароль. Покажите,...

Разграничение прав доступа
Есть таблица, в ней n строк, n столбцов (id integer, gid text, etc...) Как реализовать доступ (select) первого пользователя к первой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru