Разделение прав и компоненты Delphi

rebroff
Дата: 19.10.2006 13:55:01
Добрый день. Нужен совет. В соответствии с раздачей прав на сервере (Firebird) на выполнение тех или иных действий с данными в БД, в клиентской программе отдельные компоненты должны быть доступны/недоступны для данного пользователя. Поделитесь опытом, как рациональнее организовать это дело. Проверять параметры подключения и выполнять сто раз Enabled:=false, думаю, не выход.
MAX2002
Дата: 19.10.2006 18:47:42
использовать в приложении Actions, регистрировать их в БД и затем, при создании формы
  for Counter := 0 to Self.ComponentCount - 1 do
  begin
   if Self.Components[Counter] is TAction then
    begin
     if TAction(self.Components[Counter]).Name= (запрещено) then
     begin 
     // Запрещаем его
      TAction(self.Components[Counter]).OnExecute:=nil;
     end; 
    end;
  end;
isdb
Дата: 20.10.2006 05:04:16
Угу, только если хотите добиться хоть какой-то секъюрности - всё должно быть запрещено по-умолчанию, с сервера должен вытягиваться список разрешённых элементов.
Если пользователей много, то элементарные действия надо объединить в роли, а роли давать пользователям.
Relic Hunter
Дата: 20.10.2006 06:05:11
Пусть датабасе над етим париццо.
Проходили мы все ето.