Re: Разделение прав
От | Oleg Bartunov |
---|---|
Тема | Re: Разделение прав |
Дата | |
Msg-id | Pine.GSO.4.63.0602141834160.19213@ra.sai.msu.su обсуждение исходный текст |
Ответ на | Re: Разделение прав ("Andrey N. Oktyabrski" <ano@antora.ru>) |
Ответы |
Re: Разделение
|
Список | pgsql-ru-general |
Андрей, ты бы не поленился, а сделал бы примитивный пример для cut'n paste технологии, чтобы не корячиться самому. А то написал что-то на псевдоязыке (да еще и неправильно), и хочешь, чтобы тебе помогли. То, что ьы хочешь называется 'updateable view'. В pgsql нет полной реализации 'create view', поэтому вот так просто ничего не сделаешь Но если не ты поленишься и пойдешь на http://pgsql.ru/db/pgsearch/index.html?q=updateable+view&tmpl=%F0%D2%C9%D7%C5%D4&ps=10&set=&group=2&site= то найдешь кучу полезного. В частности http://www.varlena.com/varlena/GeneralBits/111.php Олег On Tue, 14 Feb 2006, Andrey N. Oktyabrski wrote: > Andrey N. Oktyabrski wrote: >> Здравствуйте. >> >> Стоит такая задача: >> есть несколько таблиц, записи в них имеют признак типа "такой-то юзер >> постгреса имеет право на select/update этой записи", надо сделать как-то, >> чтобы юзер не мог сделать то, что ему запрещено. >> >> Я планировал сделать это так: >> create table _tbl (...); >> create view tbl as select * from _tbl where owner = session_user(); >> revoke all on tbl from <юзер>; >> grant select on tbl to <юзер>; >> revoke all on _tbl from <юзер>; >> grant insert, update, delete on _tbl to <юзер>; >> >> Но тогда >> update _tbl set fld = 123 where id = 21; >> не работает - постгрес говорит, что нет прав. grant select on _tbl to >> <юзер> спасает, но я не хочу чтобы юзер читал из таблицы, для этого сделано >> представление-подмножество таблицы. >> >> Как выйти из положения? Или есть какое-то решение без view? > Да, мысль пришла... Может ли кто-нибудь подсказать, в каком месте хачить > исходники постгреса на предмет разрешения update без прав на select? С целью > соорудить патч и попытаться попросить Олега закоммитить его :-) Если это, > конечно, politically correct solution. > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster > Regards, Oleg _____________________________________________________________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83
В списке pgsql-ru-general по дате отправления: