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

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

05.06.2014, 01:27. Показов 12105. Ответов 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
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
05.06.2014, 01:52
Цитата Сообщение от niyazbek Посмотреть сообщение
Снизу преставлен код авторизации пользователей он работает как правильно это реализовать
Не понял. Если код работает, значит он реализован правильно. Разве нет?
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
05.06.2014, 01:53  [ТС]
код работает проста мне нада сделать как ограничить пользователем права например пользователь может только просматривать определеные справочники
Администратор редактировать и просматривать информацию
как им ограничеть доступ
0
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
05.06.2014, 01:58
Цитата Сообщение от niyazbek Посмотреть сообщение
проста мне нада сделать как ограничить пользователем права
Ну если нада - делай. Только Акцес тебе в этом (имхо) ничем не поможет. Можно было его и не упоминать в теме.
0
 Аватар для niyazbek
1 / 1 / 0
Регистрация: 31.05.2013
Сообщений: 46
05.06.2014, 02:00  [ТС]
northener я посаветоваться хотел а аксесс просто чтоб было внятна начем БД была сделана
а сам проект написан на Делфи
0
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
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,602
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
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru