LINUX.ORG.RU
ФорумAdmin

Скрыть информацию в column2 по userid=it.

 


0

1

Коллеги, есть таблица в которой username, accountid, userid.
Хочется запретить всем пользователям кроме admin смотреть accountid у строк, где userid=10.
т.е:
admin:
select * from table - получает всю информацию.
user:
select * from table - получает всю инфомацию, но accountid пустой если userid=10

Смотрел VPD, но он закрывает весь column (не получается задать уловие where userid=10)
надеюсь смог донести мысль.
Спасибо.
Кастую kukara4, как единственного известного мне ораклиста.

★★★★★
select substr(column2,decode(column1,СЕКРЕТНЫЙИД,,-1,1)) -- для строк
select column2*decode(column1,СЕКРЕТНЫЙИД,,0,1)) -- для чисел
DonkeyHot ★★★★★
()
Ответ на: комментарий от anc

вьюшка не получится.
это софт вендора.

dada ★★★★★
() автор топика
Ответ на: комментарий от DonkeyHot

мне нужно чтобы девелоперы, которые имеют доступ по sql, не могли селектить.
точнее селектить могли, а видеть могли все кроме accountid.

dada ★★★★★
() автор топика

не ораклист ни разу, но в «державной субд» (постгрес в астра линкусе) для такого используется мандатный контроль доступа.

по аналогии загуглил тебе что-то: https://docs.oracle.com/cd/B10500_01/network.920/a96578/intro.htm

aol ★★★★★
()

а oracle - какой версии и тип лицензии?
Есть features под именем «Oracle Label Security». Оно это позволяет. Иначе только view и создание нового юзера с урезанием прав к данным старого юзера.

Atlant ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.