Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 18:36   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Разграничение прав пользователей в Firebird

Добрый вечер! Каким образом можно разграничить права пользователей при работе с программой, которая работает на СУБД Firebird? Какие может настройки нужно прописать? Поделитесь информацией кто сталкивался с этой задачей.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.09.2010, 18:41   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Разграничить права на какие-то функции в программе или на доступ к таблицам БД?
_Engine_ вне форума Ответить с цитированием
Старый 16.09.2010, 18:48   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Да, на какие-то функции. С помощью чего это можно сделать?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.09.2010, 18:53   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

с помощью доп поля admin в базе пользователей принимающего 2 значения н-р 0 и 1
и при входе считывать его и либо ограничивать пользователя либо нет! при большем количестве ролей значений делать больше)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 16.09.2010, 19:04   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А как в программе буде работать это значение "0" или "1"? Вот это мне не понятно.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.09.2010, 19:09   #6
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

У большинства компонентов есть свойство Tag, в него пропиши 0 или 1
Ну допустим, чтобы ограничить доступ к пунктам меню:
Код:
for i := 0 to MainMenu1.Items.Count -1 do
  if MainMenu1.Items[i].Tag > MyUserRole then
   MainMenu1.Items[i].Enabled := false;
_Engine_ вне форума Ответить с цитированием
Старый 16.09.2010, 19:11   #7
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

например
процедура вставки
Код:
case admin of
0: insert;{если разрешено вставляем}
else {недостаточно прав}
end;
и т.д и т.п можно еще в oncreate кнопки поотрубать---выбор большой)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 16.09.2010 в 19:15.
Mad_Cat вне форума Ответить с цитированием
Старый 16.09.2010, 19:11   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

То есть если в свойстве Tag какого-либо компонента установить 0 или 1, то если зашел "не админ", то этот компонент не будет доступен?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.09.2010, 19:14   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

если ты это пропишешь в коде то да) а если не пропишешь то нет)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 16.09.2010, 19:18   #10
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Не совсем так, надо прописать процедуру проверки примерно такого типа:
Код:
procedure Check (const UserRole : Integer);
 var i : Integer;
begin
  for i := 0 to ComponentCount - 1 do
   if  Components[i] is TWinControl then     
     TWinControl(Components[i]).Enabled := Components[i].Tag <= UserRole;       
end;
_Engine_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разграничение прав на области листа Chelentano Microsoft Office Excel 11 07.02.2013 10:33
Разграничение прав доступа Len@09 БД в Delphi 24 03.11.2009 15:39
Ограничение прав пользователей в файле excel add_sky Microsoft Office Excel 2 02.08.2009 14:13
Странности FireBird (Создание пользователей) KiSH333 БД в Delphi 1 10.03.2009 12:39
Разграничение доступа vsurmach БД в Delphi 6 29.11.2008 12:01