Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Управление доступом к базе данных... [D5, IB5.x]


Malder ©   (2002-02-16 12:37:00) 

Подскажите, как управлять доступом к базе данных ? То есть, допустим, есть некоторые записи, каждая запись - информация о клиенте. Для каждой определенной записи есть менеджер, который ответственен за эту запись (за данного клиента). Как сделать, чтоб под своим логином/паролем менеджер мог посмотреть только свои записи, то есть записи, где поле Manager="Ivan" ? Или мог посмотреть/редактировать свои записи, а чужие только смотреть ?
Естесственно, запрещение/разрешение доступа должно определяться сервером, а не строкой SQL-запроса: SELECT from DEP where Manager=Ivan.


Fay   (2002-02-17 02:36:00) [1]

2 Havez ©
Прошу прощения, ухитрился не заметить Вашего ответа.


Fay   (2002-02-17 02:33:00) [2]

For IB:

create generator t1_g;

create table t1(
t1_id integer not null,
t1_name varchar(32) not null collate pxw_cyrl,
t1_owner varchar(16) default user not null ,
constraint pk_t1 primary key(t1_id)
);

set term ^;
create trigger t1_bi for t1
before insert
as
begin
new.t1_id=gen_id(t1_g, 1);
end
^
set term ;^

create view t1_v
as
select
t1_id,
t1_name
from t1
where t1_owner=user;

grant all on t1_v to public;


drpass   (2002-02-16 19:52:00) [3]

Почему же нельзя?
Просто нужно запретить менеджерам доступ к таблице, и для каждого из них создать представление (create view) по их данным.


Havez   (2002-02-16 15:56:00) [4]

Вряд-ли доступ к записям можно организовать через сервер.
Лучше убрать гранты для таблицы и создать просмотр как раз с тем текстом что ты привёл, и дать грант к нему.
where dep.Manager = USER


Malder   (2002-02-16 13:39:00) [5]

Скажите хоть что нибудь. Если чего непонятно, что я хочу - скажите. Постараюсь обьяснить поподробнее...


Наверх

Титульная страница Поиск, карта сайта Написать письмо