Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
zubr

Как ограничить доступ на выборку

21.01.2010, 08:40. Показов 3714. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как ограничить доступ на выборку определенных строк в таблице (или view) опираясь на имя пользователя в сети, не заводя дополнительных пользователей в БД и не корректируя кода пользовательского приложения.
И еще, этот пакет должен возвратить предикат Policies-а, но не возвращает, а сам по себе работает и возвращает что надо. Почему?
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE OR REPLACE PACKAGE POL_PACK IS
   FUNCTION POL_FUNC RETURN VARCHAR2;
END POL_PACK;
/
CREATE OR REPLACE PACKAGE BODY POL_PACK AS
FUNCTION POL_FUNC RETURN VARCHAR2 IS
os_us VARCHAR2(100);
BEGIN
 SELECT osuser INTO os_us FROM sys.v_$session WHERE sys.v_$session.AUDSID=(SELECT USERENV('sessionid') FROM dual);
 IF os_us = 'Aleksey' THEN RETURN 'KEY2=2' ELSE RETURN 'KEY2=5' END IF;
END POL_FUNC;
END POL_PACK;
/
/
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2010, 08:40
Ответы с готовыми решениями:

Как ограничить доступ разных пользователей в базе данных?
чтоб они видели только те формы которые я им укажу в доступе

Как ограничить выборку из связанной таблицы в Entity Framework
Уважаемые Гуру! Есть таблица autos механизмов и подчиненная таблица с данными от gps - gpskadrs. За период накопилось порядка 100 000...

Как ограничить доступ к серверу?
Как ограничить доступ к серверу !! Не через настройки IIS. Пр: чтоб на сервере более 50 тел не могло находиться.

4
0 / 0 / 2
Регистрация: 08.04.2009
Сообщений: 271
31.01.2010, 17:45
На первый вопрос посмотрите FGA, то есть так называемый хорошо гранулированный контроль доступа. Есть еще пакет DBMS_RLS, который добавку стряпает к к предложению WHERE.
0
0 / 0 / 2
Регистрация: 08.04.2009
Сообщений: 271
31.01.2010, 17:59
У меня запрос из пакета вернул множество строк, встроенный запрос всегда должен возвращать ОДНУ строку, не больше и не меньше. Это потенциально может приводить к появлению исключений, не сегодня, так завтра. Можно, конечно использовать для запроса явный курсор, ан елучше ли обратиться к стандартным средствам Oracle, например посмотрите функцию SYS_CONTEXT.
0
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 17
26.05.2010, 14:57
Самое простое - создать view. Например:

create view restricted_table as
select * from main_table t
where t.user_owner = user;

тогда селект * из этого вью выдаст только записи для данного пользователя.
Запретите пользователям читать из таблицы, но разрешите - из view.
0
singleman
20.07.2010, 14:16
Если не менять код то только это поможет :-)
http://otn.oracle.com/oramag/oracle/03-jul/o43security.html
перевод dsvolk.msk.ru/oracle/papers/Now_Securing_Every_Row.doc

'Oracle Label Security представляет собой набор процедур и ограничений (constraints) встроенных в ядро БД, которые позволяют осуществить контроль за доступом на уровне записей. Для использования Oracle Label Security, необходимо создать одну или несколько политик безопасности, каждая из которых содержит набор меток (label). Метки используются для определения того, какой пользователь к каким данным имеет доступ. После создания политики нужно применить ее к защищаемым таблицам и дать пользователям права на соответствующие метки. Oracle Label Security изменяет запросы и вычисляет уровни доступа «на лету» для реализации созданной политики.

При разборе SQL выражения Oracle определяет входит ли в запрос какая-либо из защищенных таблиц. После чего дописывает соответствующее условие в выражение WHERE. Поскольку все это происходит внутри ядра БД этот механизм невозможно обойти в не зависимости от источника SQL выражения.'
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2010, 14:16
Помогаю со студенческими работами здесь

Как ограничить доступ по IP td-w8901g
Здравствуйте! Подскажите пожалуйста очень срочно нужно! Есть модем TP-Link TD-W8901G как на нем сделать ограничение на IP-адрес. Такая...

Как Ограничить Доступ К Договорам.
Добрый день! Сложилась такая ситуация. Управление торговлей 10.3. Нужно реализовать "Договор первой поставки". Так, чтобы после...

как ограничить доступ к папке?
народ, такая ситуация, на сайте есть папка "private", в ней лежат файлы, когда пользователь набирает в строке www.site.com/private,...

Как ограничить доступ к ресурсам?
Имею два компьютера оба выходят в интернет,один подключен к роутеру от роутера,через коммутатор,подключен второй компьютер.Роутер D-link...

Как ограничить доступ к портам по времени
Доброго времени суток! столкнулся с такой задачей: нужно сделать так что бы управляемый коммутатор (HP 2620-48) ограничивал доступ к своим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru