Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/56: Рейтинг темы: голосов - 56, средняя оценка - 4.68
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46

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

05.06.2014, 01:27. Показов 12020. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, есть база в Аксесе где есть таблица Авторизация вней 2 пальзователя 1 Администратор 2 Пользователь
Форма авторизации на ней Edit1(Пароль),DBLookupComboboks(Лог ин),Button1(Вход)
Необходимо если пользователь авторизовался как Администратор он может просматривать все формы и редактировать
А если авторизавался пользователь то он может только просматривать 1 определеную форму
Снизу преставлен код авторизации пользователей он работает как правильно это реализовать

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
procedure TForm21.Button1Click(Sender: TObject);
var
  log: String;
begin
  log := DBLookupComboBox1.Text;
  with AdoQuery1, Parameters do
  begin
    SQL.Text:='SELECT * FROM Авторизация  WHERE ( Логин= :логин) and (Пароль = :пароль)';
    ParamByName('логин').Value := log;
    ParamByName('пароль').Value := Edit1.Text;
    Open;
    if RecordCount > 0 then
    begin
      if FieldValues['Логин'] = '1111' then
        showmessage('Вход в систему под Администратором выполнен.')
      else
        showmessage('Вход в систему Выполнен.');
 
      Form21.Hide;
      Form1.Show;
    end else
    begin
      SQL.Text:='SELECT * FROM Авторизация';
      Open;
      Edit1.Clear;
      showmessage('Веден неверный пароль!!!');
    end;
  end;     end;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.06.2014, 01:27
Ответы с готовыми решениями:

Сделать разграничение прав доступа к таблицам и кнопкам в проекте Delphi через данные из Access
Нужно сделать авторизацию в делфи, так что бы данные брались из таблиц MS Access, и не просто авторизацию но и еще разделение прав: мастера...

Разграничение прав в delphi
Как в делви сделать разграничение прав. Что бы было 2 пользователя 1 админ 2 USER У админа одни права

Как делается разграничение прав?
Объясните пожалуйста если в системе работают 2 пользователя и у каждого из них д.б. свои функции и возможности как вообще это делать? ...

10
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
05.06.2014, 01:52
Цитата Сообщение от niyazbek Посмотреть сообщение
Снизу преставлен код авторизации пользователей он работает как правильно это реализовать
Не понял. Если код работает, значит он реализован правильно. Разве нет?
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
05.06.2014, 01:53  [ТС]
код работает проста мне нада сделать как ограничить пользователем права например пользователь может только просматривать определеные справочники
Администратор редактировать и просматривать информацию
как им ограничеть доступ
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
05.06.2014, 01:58
Цитата Сообщение от niyazbek Посмотреть сообщение
проста мне нада сделать как ограничить пользователем права
Ну если нада - делай. Только Акцес тебе в этом (имхо) ничем не поможет. Можно было его и не упоминать в теме.
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
05.06.2014, 02:00  [ТС]
northener я посаветоваться хотел а аксесс просто чтоб было внятна начем БД была сделана
а сам проект написан на Делфи
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
05.06.2014, 02:40
Цитата Сообщение от niyazbek Посмотреть сообщение
northener я посаветоваться хотел
Ну я и "посаветовал".
А ты хотел наверно чтобы тебе написали программу?
0
23 / 23 / 5
Регистрация: 30.04.2012
Сообщений: 75
05.06.2014, 20:25
Добавь поле 'Права' в таблицу 'Авторизация', назначь админам например 1, пользователям 2, и т.д.
После авторизации через условие определяем что кому доступно.
Например: если права = 2, то отключить видимость таких-то пунктов меню (например редактирования пользователей).
Механизм простой.
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
06.06.2014, 00:09
Да можно очень просто ! мыслите правильно

1. Такой задача надо разбить на 2 част !!! Первое (Программа для Администратора) Где администратор даёт права на привилегии , логин и пароль

2. Программа для пользователя из который заходить своего (Логин и Пароль)

3. Если в поле привилегии равно на пример 'Только для чтения' тогда какой то кнопка или меню= Visible.False или Enable.False
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
08.06.2014, 21:06  [ТС]
ZIl я добавил в таблицу авторицию поля Доступ с типом логический теперь незнаю как в коде прописать все это мне всеголишь нада для пользователя разганичеть доступ определеные формы он только может открыть как это реализовать подскажите
0
23 / 23 / 5
Регистрация: 30.04.2012
Сообщений: 75
09.06.2014, 03:39
Не уверен в каком виде Access возвращает значение логического типа, но скорее всего это 0,1.
Например у нас есть TMainMenu, но это не принципиально, можно использовать что угодно.
Предположим что в вашей таблице 4 поля - id, логин, пароль, доступ, тогда:
Delphi
1
2
3
4
5
6
7
8
9
10
11
     if ADOQuery1.Recordset.Fields[3].Value=0 then
     begin
        form1.MainMenu1.Items[1].Visible:=false;
        form1.MainMenu1.Items[2].Visible:=false;
        // .............  
     end
     else
        form1.MainMenu1.Items[1].Visible:=true;
        form1.MainMenu1.Items[2].Visible:=true;    
        // .............    
     end;
В данном случае мы проверяем:
Если значение поля "Доступ" равно 0 (или false), то скрываем определенные пункты меню.
Такую проверку нужно выполнить перед открытием следующей формы (или закрытием текущей).
Если используете не меню, то по аналогии.
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
11.06.2014, 16:37  [ТС]
FIL никак не получаеться мне просто для пользователя Сотрудник нада всеголишь чтобы он открывал 8 форму и все а администратор как обычно все тоесть 1 форму скинул прогу может увас получеться что то исправитьпрога - копия.rar
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2014, 16:37
Помогаю со студенческими работами здесь

Разграничение прав на уровне приложения
Доброго времени суток! Стоит задача - разграничить права пользователей (по группам) на уровне приложения Delphi. Решаю следующим...

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

Разграничение прав, админ и юзер
Есть форма для регистрации, там 2 пользователя. Суть в том чтобы при авторизации администратора открывалась 1 форма а для юзера совершенно...

Разграничение доступа к системе
Здравствуйте! Такой у меня на вход Логин и пароль Form1.ADOQuery1.Close; ADOQuery1.SQL.Text:='SELECT * FROM Avtorizacija WHERE...

Ограничение прав доступа
Есть программа, 1 окно авторизация, два выбора админ и пользователь, админу доступен dbnavigator, а пользователю нужно чтобы был доступен...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru